Get a detailed overview of this resourceList the top 5 use cases for this resourceBuild a program using aws.costexplorer.AnomalySubscriptionRepositoryAWS Classic pulumi/pulumi-awsLicenseApache-2.0NotesThis Pulumi package is based on the aws Terraform Provider.

  1. Packages
  2. Packages
  3. AWS
  4. API Docs
  5. costexplorer
  6. AnomalySubscription

AWS v7.32.0, May 29 26

AWS v7.32.0, May 29 26

Viewing docs for AWS v7.32.0

published on Friday, May 29, 2026 by Pulumi

Schema (JSON)

pulumi/pulumi-aws

v7.32.0 (7.x, latest)v6.83.1 (6.x)v5.43.0 (5.x)

aws.costexplorer.AnomalySubscription Anchor

Explore with Neo

Explain this resource Show real-world scenarios Provision a new instance

Viewing docs for AWS v7.32.0

published on Friday, May 29, 2026 by Pulumi

Schema (JSON)

pulumi/pulumi-aws

v7.32.0 (7.x, latest)v6.83.1 (6.x)v5.43.0 (5.x)

On this page

On this page

[Scroll to top](/content/registry/packages/aws/api-docs/costexplorer/anomalysubscription/# "Scroll to top"/index.html)

Provides a CE Anomaly Subscription.

Example Usage Anchor

Basic Example Anchor

  • TypeScript
  • Python
  • Go
  • C#
  • Java
  • YAML
  • HCL PREVIEW
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const test = new aws.costexplorer.AnomalyMonitor("test", {
    name: "AWSServiceMonitor",
    monitorType: "DIMENSIONAL",
    monitorDimension: "SERVICE",
});
const testAnomalySubscription = new aws.costexplorer.AnomalySubscription("test", {
    name: "DAILYSUBSCRIPTION",
    frequency: "DAILY",
    monitorArnLists: [test.arn],
    subscribers: [{\
        type: "EMAIL",\
        address: "abc@example.com",\
    }],
    thresholdExpression: {
        dimension: {
            key: "ANOMALY_TOTAL_IMPACT_ABSOLUTE",
            matchOptions: ["GREATER_THAN_OR_EQUAL"],
            values: ["100"],
        },
    },
});

Copy

import pulumi
import pulumi_aws as aws

test = aws.costexplorer.AnomalyMonitor("test",
    name="AWSServiceMonitor",
    monitor_type="DIMENSIONAL",
    monitor_dimension="SERVICE")
test_anomaly_subscription = aws.costexplorer.AnomalySubscription("test",
    name="DAILYSUBSCRIPTION",
    frequency="DAILY",
    monitor_arn_lists=[test.arn],
    subscribers=[{\
        "type": "EMAIL",\
        "address": "abc@example.com",\
    }],
    threshold_expression={
        "dimension": {
            "key": "ANOMALY_TOTAL_IMPACT_ABSOLUTE",
            "match_options": ["GREATER_THAN_OR_EQUAL"],
            "values": ["100"],
        },
    })

Copy

package main

import (
    "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/costexplorer"
    "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        test, err := costexplorer.NewAnomalyMonitor(ctx, "test", &costexplorer.AnomalyMonitorArgs{
            Name:             pulumi.String("AWSServiceMonitor"),
            MonitorType:      pulumi.String("DIMENSIONAL"),
            MonitorDimension: pulumi.String("SERVICE"),
        })
        if err != nil {
            return err
        }
        _, err = costexplorer.NewAnomalySubscription(ctx, "test", &costexplorer.AnomalySubscriptionArgs{
            Name:      pulumi.String("DAILYSUBSCRIPTION"),
            Frequency: pulumi.String("DAILY"),
            MonitorArnLists: pulumi.StringArray{
                test.Arn,
            },
            Subscribers: costexplorer.AnomalySubscriptionSubscriberArray{
                &costexplorer.AnomalySubscriptionSubscriberArgs{
                    Type:    pulumi.String("EMAIL"),
                    Address: pulumi.String("abc@example.com"),
                },
            },
            ThresholdExpression: &costexplorer.AnomalySubscriptionThresholdExpressionArgs{
                Dimension: &costexplorer.AnomalySubscriptionThresholdExpressionDimensionArgs{
                    Key: pulumi.String("ANOMALY_TOTAL_IMPACT_ABSOLUTE"),
                    MatchOptions: pulumi.StringArray{
                        pulumi.String("GREATER_THAN_OR_EQUAL"),
                    },
                    Values: pulumi.StringArray{
                        pulumi.String("100"),
                    },
                },
            },
        })
        if err != nil {
            return err
        }
        return nil
    })
}

Copy

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() =>
{
    var test = new Aws.CostExplorer.AnomalyMonitor("test", new()
    {
        Name = "AWSServiceMonitor",
        MonitorType = "DIMENSIONAL",
        MonitorDimension = "SERVICE",
    });

var testAnomalySubscription = new Aws.CostExplorer.AnomalySubscription("test", new()
    {
        Name = "DAILYSUBSCRIPTION",
        Frequency = "DAILY",
        MonitorArnLists = new[]
        {
            test.Arn,
        },
        Subscribers = new[]
        {
            new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs
            {
                Type = "EMAIL",
                Address = "abc@example.com",
            },
        },
        ThresholdExpression = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionArgs
        {
            Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionDimensionArgs
            {
                Key = "ANOMALY_TOTAL_IMPACT_ABSOLUTE",
                MatchOptions = new[]
                {
                    "GREATER_THAN_OR_EQUAL",
                },
                Values = new[]
                {
                    "100",
                },
            },
        },
    });

});

Copy

package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.costexplorer.AnomalyMonitor;
import com.pulumi.aws.costexplorer.AnomalyMonitorArgs;
import com.pulumi.aws.costexplorer.AnomalySubscription;
import com.pulumi.aws.costexplorer.AnomalySubscriptionArgs;
import com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionSubscriberArgs;
import com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionArgs;
import com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionDimensionArgs;
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) {
        var test = new AnomalyMonitor("test", AnomalyMonitorArgs.builder()
            .name("AWSServiceMonitor")
            .monitorType("DIMENSIONAL")
            .monitorDimension("SERVICE")
            .build());

var testAnomalySubscription = new AnomalySubscription("testAnomalySubscription", AnomalySubscriptionArgs.builder()
            .name("DAILYSUBSCRIPTION")
            .frequency("DAILY")
            .monitorArnLists(test.arn())
            .subscribers(AnomalySubscriptionSubscriberArgs.builder()
                .type("EMAIL")
                .address("abc@example.com")
                .build())
            .thresholdExpression(AnomalySubscriptionThresholdExpressionArgs.builder()
                .dimension(AnomalySubscriptionThresholdExpressionDimensionArgs.builder()
                    .key("ANOMALY_TOTAL_IMPACT_ABSOLUTE")
                    .matchOptions("GREATER_THAN_OR_EQUAL")
                    .values("100")
                    .build())
                .build())
            .build());

}
}

Copy

resources:
  test:
    type: aws:costexplorer:AnomalyMonitor
    properties:
      name: AWSServiceMonitor
      monitorType: DIMENSIONAL
      monitorDimension: SERVICE
  testAnomalySubscription:
    type: aws:costexplorer:AnomalySubscription
    name: test
    properties:
      name: DAILYSUBSCRIPTION
      frequency: DAILY
      monitorArnLists:
        - ${test.arn}
      subscribers:
        - type: EMAIL
          address: abc@example.com
      thresholdExpression:
        dimension:
          key: ANOMALY_TOTAL_IMPACT_ABSOLUTE
          matchOptions:
            - GREATER_THAN_OR_EQUAL
          values:
            - '100'

Copy

pulumi {
  required_providers {
    aws = {
      source = "pulumi/aws"
    }
  }
}

resource "aws_costexplorer_anomalymonitor" "test" {
  name              = "AWSServiceMonitor"
  monitor_type      = "DIMENSIONAL"
  monitor_dimension = "SERVICE"
}
resource "aws_costexplorer_anomalysubscription" "test" {
  name              = "DAILYSUBSCRIPTION"
  frequency         = "DAILY"
  monitor_arn_lists = [aws_costexplorer_anomalymonitor.test.arn]
  subscribers {
    type    = "EMAIL"
    address = "abc@example.com"
  }
  threshold_expression = {
    dimension = {
      key           = "ANOMALY_TOTAL_IMPACT_ABSOLUTE"
      match_options = ["GREATER_THAN_OR_EQUAL"]
      values        = ["100"]
    }
  }
}

Copy

Threshold Expression Example Anchor

Using a Percentage Threshold Anchor

  • TypeScript
  • Python
  • Go
  • C#
  • Java
  • YAML
  • HCL PREVIEW
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const test = new aws.costexplorer.AnomalySubscription("test", {
    name: "AWSServiceMonitor",
    frequency: "DAILY",
    monitorArnLists: [testAwsCeAnomalyMonitor.arn],
    subscribers: [{\
        type: "EMAIL",\
        address: "abc@example.com",\
    }],
    thresholdExpression: {
        dimension: {
            key: "ANOMALY_TOTAL_IMPACT_PERCENTAGE",
            matchOptions: ["GREATER_THAN_OR_EQUAL"],
            values: ["100"],
        },
    },
});

Copy

import pulumi
import pulumi_aws as aws

test = aws.costexplorer.AnomalySubscription("test",
    name="AWSServiceMonitor",
    frequency="DAILY",
    monitor_arn_lists=[test_aws_ce_anomaly_monitor["arn"]],
    subscribers=[{\
        "type": "EMAIL",\
        "address": "abc@example.com",\
    }],
    threshold_expression={
        "dimension": {
            "key": "ANOMALY_TOTAL_IMPACT_PERCENTAGE",
            "match_options": ["GREATER_THAN_OR_EQUAL"],
            "values": ["100"],
        },
    })

Copy

package main

import (
    "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/costexplorer"
    "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        _, err := costexplorer.NewAnomalySubscription(ctx, "test", &costexplorer.AnomalySubscriptionArgs{
            Name:      pulumi.String("AWSServiceMonitor"),
            Frequency: pulumi.String("DAILY"),
            MonitorArnLists: pulumi.StringArray{
                testAwsCeAnomalyMonitor.Arn,
            },
            Subscribers: costexplorer.AnomalySubscriptionSubscriberArray{
                &costexplorer.AnomalySubscriptionSubscriberArgs{
                    Type:    pulumi.String("EMAIL"),
                    Address: pulumi.String("abc@example.com"),
                },
            },
            ThresholdExpression: &costexplorer.AnomalySubscriptionThresholdExpressionArgs{
                Dimension: &costexplorer.AnomalySubscriptionThresholdExpressionDimensionArgs{
                    Key: pulumi.String("ANOMALY_TOTAL_IMPACT_PERCENTAGE"),
                    MatchOptions: pulumi.StringArray{
                        pulumi.String("GREATER_THAN_OR_EQUAL"),
                    },
                    Values: pulumi.StringArray{
                        pulumi.String("100"),
                    },
                },
            },
        })
        if err != nil {
            return err
        }
        return nil
    })
}

Copy

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() =>
{
    var test = new Aws.CostExplorer.AnomalySubscription("test", new()
    {
        Name = "AWSServiceMonitor",
        Frequency = "DAILY",
        MonitorArnLists = new[]
        {
            testAwsCeAnomalyMonitor.Arn,
        },
        Subscribers = new[]
        {
            new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs
            {
                Type = "EMAIL",
                Address = "abc@example.com",
            },
        },
        ThresholdExpression = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionArgs
        {
            Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionDimensionArgs
            {
                Key = "ANOMALY_TOTAL_IMPACT_PERCENTAGE",
                MatchOptions = new[]
                {
                    "GREATER_THAN_OR_EQUAL",
                },
                Values = new[]
                {
                    "100",
                },
            },
        },
    });

});

Copy

package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.costexplorer.AnomalySubscription;
import com.pulumi.aws.costexplorer.AnomalySubscriptionArgs;
import com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionSubscriberArgs;
import com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionArgs;
import com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionDimensionArgs;
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) {
        var test = new AnomalySubscription("test", AnomalySubscriptionArgs.builder()
            .name("AWSServiceMonitor")
            .frequency("DAILY")
            .monitorArnLists(testAwsCeAnomalyMonitor.arn())
            .subscribers(AnomalySubscriptionSubscriberArgs.builder()
                .type("EMAIL")
                .address("abc@example.com")
                .build())
            .thresholdExpression(AnomalySubscriptionThresholdExpressionArgs.builder()
                .dimension(AnomalySubscriptionThresholdExpressionDimensionArgs.builder()
                    .key("ANOMALY_TOTAL_IMPACT_PERCENTAGE")
                    .matchOptions("GREATER_THAN_OR_EQUAL")
                    .values("100")
                    .build())
                .build())
            .build());

}
}

Copy

resources:
  test:
    type: aws:costexplorer:AnomalySubscription
    properties:
      name: AWSServiceMonitor
      frequency: DAILY
      monitorArnLists:
        - ${testAwsCeAnomalyMonitor.arn}
      subscribers:
        - type: EMAIL
          address: abc@example.com
      thresholdExpression:
        dimension:
          key: ANOMALY_TOTAL_IMPACT_PERCENTAGE
          matchOptions:
            - GREATER_THAN_OR_EQUAL
          values:
            - '100'

Copy

pulumi {
  required_providers {
    aws = {
      source = "pulumi/aws"
    }
  }
}

resource "aws_costexplorer_anomalysubscription" "test" {
  name              = "AWSServiceMonitor"
  frequency         = "DAILY"
  monitor_arn_lists = [testAwsCeAnomalyMonitor.arn]
  subscribers {
    type    = "EMAIL"
    address = "abc@example.com"
  }
  threshold_expression = {
    dimension = {
      key           = "ANOMALY_TOTAL_IMPACT_PERCENTAGE"
      match_options = ["GREATER_THAN_OR_EQUAL"]
      values        = ["100"]
    }
  }
}

Copy

Using an and Expression Anchor

  • TypeScript
  • Python
  • Go
  • C#
  • Java
  • YAML
  • HCL PREVIEW
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const test = new aws.costexplorer.AnomalySubscription("test", {
    name: "AWSServiceMonitor",
    frequency: "DAILY",
    monitorArnLists: [testAwsCeAnomalyMonitor.arn],
    subscribers: [{\
        type: "EMAIL",\
        address: "abc@example.com",\
    }],
    thresholdExpression: {
        ands: [\
            {\
                dimension: {\
                    key: "ANOMALY_TOTAL_IMPACT_ABSOLUTE",\
                    matchOptions: ["GREATER_THAN_OR_EQUAL"],\
                    values: ["100"],\
                },\
            },\
            {\
                dimension: {\
                    key: "ANOMALY_TOTAL_IMPACT_PERCENTAGE",\
                    matchOptions: ["GREATER_THAN_OR_EQUAL"],\
                    values: ["50"],\
                },\
            },\
        ],
    },
});

Copy

import pulumi
import pulumi_aws as aws

test = aws.costexplorer.AnomalySubscription("test",
    name="AWSServiceMonitor",
    frequency="DAILY",
    monitor_arn_lists=[test_aws_ce_anomaly_monitor["arn"]],
    subscribers=[{\
        "type": "EMAIL",\
        "address": "abc@example.com",\
    }],
    threshold_expression={
        "ands": [\
            {\
                "dimension": {\
                    "key": "ANOMALY_TOTAL_IMPACT_ABSOLUTE",\
                    "match_options": ["GREATER_THAN_OR_EQUAL"],\
                    "values": ["100"],\
                },\
            },\
            {\
                "dimension": {\
                    "key": "ANOMALY_TOTAL_IMPACT_PERCENTAGE",\
                    "match_options": ["GREATER_THAN_OR_EQUAL"],\
                    "values": ["50"],\
                },\
            },\
        ],
    })

Copy

package main

import (
    "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/costexplorer"
    "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

Copy

```csharp
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() =>
{
    var test = new Aws.CostExplorer.AnomalySubscription("test", new()
    {
        Name = "AWSServiceMonitor",
        Frequency = "DAILY",
        MonitorArnLists = new[]
        {
            testAwsCeAnomalyMonitor.Arn,
        },
        Subscribers = new[]
        {
            new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs
            {
                Type = "EMAIL",
                Address = "abc@example.com",
            },
        },
        ThresholdExpression = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionArgs
        {
            Ands = new[]
            {
                new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndArgs
                {
                    Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndDimensionArgs
                    {
                        Key = "ANOMALY_TOTAL_IMPACT_ABSOLUTE",
                        MatchOptions = new[]
                        {
                            "GREATER_THAN_OR_EQUAL",
                        },
                        Values = new[]
                        {
                            "100",
                        },
                    },
                },
                new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndArgs
                {
                    Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndDimensionArgs
                    {
                        Key = "ANOMALY_TOTAL_IMPACT_PERCENTAGE",
                        MatchOptions = new[]
                        {
                            "GREATER_THAN_OR_EQUAL",
                        },
                        Values = new[]
                        {
                            "50",
                        },
                    },
                },
            },
        },
    });

});

Copy

package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.costexplorer.AnomalySubscription;
import com.pulumi.aws.costexplorer.AnomalySubscriptionArgs;
import com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionSubscriberArgs;
import com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionThresholdExpressionArgs;
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) {
        var test = new AnomalySubscription("test", AnomalySubscriptionArgs.builder()
            .name("AWSServiceMonitor")
            .frequency("DAILY")
            .monitorArnLists(testAwsCeAnomalyMonitor.arn())
            .subscribers(AnomalySubscriptionSubscriberArgs.builder()
                .type("EMAIL")
                .address("abc@example.com")
                .build())
            .thresholdExpression(AnomalySubscriptionThresholdExpressionArgs.builder()
                .ands(
                    AnomalySubscriptionThresholdExpressionAndArgs.builder()
                        .dimension(AnomalySubscriptionThresholdExpressionAndDimensionArgs.builder()
                            .key("ANOMALY_TOTAL_IMPACT_ABSOLUTE")
                            .matchOptions("GREATER_THAN_OR_EQUAL")
                            .values("100")
                            .build())
                        .build(),
                    AnomalySubscriptionThresholdExpressionAndArgs.builder()
                        .dimension(AnomalySubscriptionThresholdExpressionAndDimensionArgs.builder()
                            .key("ANOMALY_TOTAL_IMPACT_PERCENTAGE")
                            .matchOptions("GREATER_THAN_OR_EQUAL")
                            .values("50")
                            .build())
                        .build())
                .build())
            .build());

}
}

Copy

resources:
  test:
    type: aws:costexplorer:AnomalySubscription
    properties:
      name: AWSServiceMonitor
      frequency: DAILY
      monitorArnLists:
        - ${testAwsCeAnomalyMonitor.arn}
      subscribers:
        - type: EMAIL
          address: abc@example.com
      thresholdExpression:
        ands:
          - dimension:
              key: ANOMALY_TOTAL_IMPACT_ABSOLUTE
              matchOptions:
                - GREATER_THAN_OR_EQUAL
              values:
                - '100'
          - dimension:
              key: ANOMALY_TOTAL_IMPACT_PERCENTAGE
              matchOptions:
                - GREATER_THAN_OR_EQUAL
              values:
                - '50'

Copy

pulumi {
  required_providers {
    aws = {
      source = "pulumi/aws"
    }
  }
}

resource "aws_costexplorer_anomalysubscription" "test" {
  name              = "AWSServiceMonitor"
  frequency         = "DAILY"
  monitor_arn_lists = [testAwsCeAnomalyMonitor.arn]
  subscribers {
    type    = "EMAIL"
    address = "abc@example.com"
  }
  threshold_expression = {
    ands = [{\
      "dimension" = {\
        "key"          = "ANOMALY_TOTAL_IMPACT_ABSOLUTE"\
        "matchOptions" = ["GREATER_THAN_OR_EQUAL"]\
        "values"       = ["100"]\
      }\
      }, {\
      "dimension" = {\
        "key"          = "ANOMALY_TOTAL_IMPACT_PERCENTAGE"\
        "matchOptions" = ["GREATER_THAN_OR_EQUAL"]\
        "values"       = ["50"]\
      }\
    }]
  }
}

Copy

SNS Example Anchor

  • TypeScript
  • Python
  • Go
  • C#
  • Java
  • YAML
  • HCL PREVIEW
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const costAnomalyUpdates = new aws.sns.Topic("cost_anomaly_updates", {name: "CostAnomalyUpdates"});
const snsTopicPolicy = aws.iam.getPolicyDocumentOutput({
    policyId: "__default_policy_ID",
    statements: [\
        {\
            sid: "AWSAnomalyDetectionSNSPublishingPermissions",\
            actions: ["SNS:Publish"],\
            effect: "Allow",\
            principals: [{\
                type: "Service",\
                identifiers: ["costalerts.amazonaws.com"],\
            }],\
            resources: [costAnomalyUpdates.arn],\
        },\
        {\
            sid: "__default_statement_ID",\
            actions: [\
                "SNS:Subscribe",\
                "SNS:SetTopicAttributes",\
                "SNS:RemovePermission",\
                "SNS:Receive",\
                "SNS:Publish",\
                "SNS:ListSubscriptionsByTopic",\
                "SNS:GetTopicAttributes",\
                "SNS:DeleteTopic",\
                "SNS:AddPermission",\
            ],\
            conditions: [{\
                test: "StringEquals",\
                variable: "AWS:SourceOwner",\
                values: [accountId],\
            }],\
            effect: "Allow",\
            principals: [{\
                type: "AWS",\
                identifiers: ["*"],\
            }],\
            resources: [costAnomalyUpdates.arn],\
        },\
    ],
});
const _default = new aws.sns.TopicPolicy("default", {
    arn: costAnomalyUpdates.arn,
    policy: snsTopicPolicy.apply(snsTopicPolicy => snsTopicPolicy.json),
});
const anomalyMonitor = new aws.costexplorer.AnomalyMonitor("anomaly_monitor", {
    name: "AWSServiceMonitor",
    monitorType: "DIMENSIONAL",
    monitorDimension: "SERVICE",
});
const realtimeSubscription = new aws.costexplorer.AnomalySubscription("realtime_subscription", {
    name: "RealtimeAnomalySubscription",
    frequency: "IMMEDIATE",
    monitorArnLists: [anomalyMonitor.arn],
    subscribers: [{\
        type: "SNS",\
        address: costAnomalyUpdates.arn,\
    }],
}, {
    dependsOn: [_default],
});

Copy

import pulumi
import pulumi_aws as aws

cost_anomaly_updates = aws.sns.Topic("cost_anomaly_updates", name="CostAnomalyUpdates")
sns_topic_policy = aws.iam.get_policy_document_output(policy_id="__default_policy_ID",
    statements=[\
        {\
            "sid": "AWSAnomalyDetectionSNSPublishingPermissions",\
            "actions": ["SNS:Publish"],\
            "effect": "Allow",\
            "principals": [{\
                "type": "Service",\
                "identifiers": ["costalerts.amazonaws.com"],\
            }],\
            "resources": [cost_anomaly_updates.arn],\
        },\
        {\
            "sid": "__default_statement_ID",\
            "actions": [\
                "SNS:Subscribe",\
                "SNS:SetTopicAttributes",\
                "SNS:RemovePermission",\
                "SNS:Receive",\
                "SNS:Publish",\
                "SNS:ListSubscriptionsByTopic",\
                "SNS:GetTopicAttributes",\
                "SNS:DeleteTopic",\
                "SNS:AddPermission",\
            ],\
            "conditions": [{\
                "test": "StringEquals",\
                "variable": "AWS:SourceOwner",\
                "values": [account_id],\
            }],\
            "effect": "Allow",\
            "principals": [{\
                "type": "AWS",\
                "identifiers": ["*"],\
            }],\
            "resources": [cost_anomaly_updates.arn],\
        },\
    ])
default = aws.sns.TopicPolicy("default",
    arn=cost_anomaly_updates.arn,
    policy=sns_topic_policy.json)
anomaly_monitor = aws.costexplorer.AnomalyMonitor("anomaly_monitor",
    name="AWSServiceMonitor",
    monitor_type="DIMENSIONAL",
    monitor_dimension="SERVICE")
realtime_subscription = aws.costexplorer.AnomalySubscription("realtime_subscription",
    name="RealtimeAnomalySubscription",
    frequency="IMMEDIATE",
    monitor_arn_lists=[anomaly_monitor.arn],
    subscribers=[{\
        "type": "SNS",\
        "address": cost_anomaly_updates.arn,\
    }],
    opts = pulumi.ResourceOptions(depends_on=[default]))

Copy

package main

import (
    "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/costexplorer"
    "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam"
    "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/sns"
    "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        costAnomalyUpdates, err := sns.NewTopic(ctx, "cost_anomaly_updates", &sns.TopicArgs{
            Name: pulumi.String("CostAnomalyUpdates"),
        })
        if err != nil {
            return err
        }
        snsTopicPolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{
            PolicyId: pulumi.String("__default_policy_ID"),
            Statements: iam.GetPolicyDocumentStatementArray{
                &iam.GetPolicyDocumentStatementArgs{
                    Sid: pulumi.String("AWSAnomalyDetectionSNSPublishingPermissions"),
                    Actions: pulumi.StringArray{
                        pulumi.String("SNS:Publish"),
                    },
                    Effect: pulumi.String("Allow"),
                    Principals: iam.GetPolicyDocumentStatementPrincipalArray{
                        &iam.GetPolicyDocumentStatementPrincipalArgs{
                            Type: pulumi.String("Service"),
                            Identifiers: pulumi.StringArray{
                                pulumi.String("costalerts.amazonaws.com"),
                            },
                        },
                    },
                    Resources: pulumi.StringArray{
                        costAnomalyUpdates.Arn,
                    },
                },
                &iam.GetPolicyDocumentStatementArgs{
                    Sid: pulumi.String("__default_statement_ID"),
                    Actions: pulumi.StringArray{
                        pulumi.String("SNS:Subscribe"),
                        pulumi.String("SNS:SetTopicAttributes"),
                        pulumi.String("SNS:RemovePermission"),
                        pulumi.String("SNS:Receive"),
                        pulumi.String("SNS:Publish"),
                        pulumi.String("SNS:ListSubscriptionsByTopic"),
                        pulumi.String("SNS:GetTopicAttributes"),
                        pulumi.String("SNS:DeleteTopic"),
                        pulumi.String("SNS:AddPermission"),
                    },
                    Conditions: iam.GetPolicyDocumentStatementConditionArray{
                        &iam.GetPolicyDocumentStatementConditionArgs{
                            Test:     pulumi.String("StringEquals"),
                            Variable: pulumi.String("AWS:SourceOwner"),
                            Values: pulumi.StringArray{
                                accountId,
                            },
                        },
                    },
                    Effect: pulumi.String("Allow"),
                    Principals: iam.GetPolicyDocumentStatementPrincipalArray{
                        &iam.GetPolicyDocumentStatementPrincipalArgs{
                            Type: pulumi.String("AWS"),
                            Identifiers: pulumi.StringArray{
                                pulumi.String("*"),
                            },
                        },
                    },
                    Resources: pulumi.StringArray{
                        costAnomalyUpdates.Arn,
                    },
                },
            },
        }, nil)
        _default, err := sns.NewTopicPolicy(ctx, "default", &sns.TopicPolicyArgs{
            Arn: costAnomalyUpdates.Arn,
            Policy: pulumi.String(snsTopicPolicy.ApplyT(func(snsTopicPolicy iam.GetPolicyDocumentResult) (*string, error) {
                return &snsTopicPolicy.Json, nil
            }).(pulumi.StringPtrOutput)),
        })
        if err != nil {
            return err
        }
        anomalyMonitor, err := costexplorer.NewAnomalyMonitor(ctx, "anomaly_monitor", &costexplorer.AnomalyMonitorArgs{
            Name:             pulumi.String("AWSServiceMonitor"),
            MonitorType:      pulumi.String("DIMENSIONAL"),
            MonitorDimension: pulumi.String("SERVICE"),
        })
        if err != nil {
            return err
        }
        _, err = costexplorer.NewAnomalySubscription(ctx, "realtime_subscription", &costexplorer.AnomalySubscriptionArgs{
            Name:      pulumi.String("RealtimeAnomalySubscription"),
            Frequency: pulumi.String("IMMEDIATE"),
            MonitorArnLists: pulumi.StringArray{
                anomalyMonitor.Arn,
            },
            Subscribers: costexplorer.AnomalySubscriptionSubscriberArray{
                &costexplorer.AnomalySubscriptionSubscriberArgs{
                    Type:    pulumi.String("SNS"),
                    Address: costAnomalyUpdates.Arn,
                },
            },
        }, pulumi.DependsOn([]pulumi.Resource{
            _default,
        }))
        if err != nil {
            return err
        }
        return nil
    })
}

Copy

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() =>
{
    var costAnomalyUpdates = new Aws.Sns.Topic("cost_anomaly_updates", new()
    {
        Name = "CostAnomalyUpdates",
    });

var snsTopicPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()
    {
        PolicyId = "__default_policy_ID",
        Statements = new[]
        {
            new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
            {
                Sid = "AWSAnomalyDetectionSNSPublishingPermissions",
                Actions = new[]
                {
                    "SNS:Publish",
                },
                Effect = "Allow",
                Principals = new[]
                {
                    new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs
                    {
                        Type = "Service",
                        Identifiers = new[]
                        {
                            "costalerts.amazonaws.com",
                        },
                    },
                },
                Resources = new[]
                {
                    costAnomalyUpdates.Arn,
                },
            },
            new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
            {
                Sid = "__default_statement_ID",
                Actions = new[]
                {
                    "SNS:Subscribe",
                    "SNS:SetTopicAttributes",
                    "SNS:RemovePermission",
                    "SNS:Receive",
                    "SNS:Publish",
                    "SNS:ListSubscriptionsByTopic",
                    "SNS:GetTopicAttributes",
                    "SNS:DeleteTopic",
                    "SNS:AddPermission",
                },
                Conditions = new[]
                {
                    new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs
                    {
                        Test = "StringEquals",
                        Variable = "AWS:SourceOwner",
                        Values = new[]
                        {
                            accountId,
                        },
                    },
                },
                Effect = "Allow",
                Principals = new[]
                {
                    new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs
                    {
                        Type = "AWS",
                        Identifiers = new[]
                        {
                            "*",
                        },
                    },
                },
                Resources = new[]
                {
                    costAnomalyUpdates.Arn,
                },
            },
        },
    });

var @default = new Aws.Sns.TopicPolicy("default", new()
    {
        Arn = costAnomalyUpdates.Arn,
        Policy = snsTopicPolicy.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json),
    });

var anomalyMonitor = new Aws.CostExplorer.AnomalyMonitor("anomaly_monitor", new()
    {
        Name = "AWSServiceMonitor",
        MonitorType = "DIMENSIONAL",
        MonitorDimension = "SERVICE",
    });

var realtimeSubscription = new Aws.CostExplorer.AnomalySubscription("realtime_subscription", new()
    {
        Name = "RealtimeAnomalySubscription",
        Frequency = "IMMEDIATE",
        MonitorArnLists = new[]
        {
            anomalyMonitor.Arn,
        },
        Subscribers = new[]
        {
            new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs
            {
                Type = "SNS",
                Address = costAnomalyUpdates.Arn,
            },
        },
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            @default,
        },
    });

});

Copy

package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.sns.Topic;
import com.pulumi.aws.sns.TopicArgs;
import com.pulumi.aws.iam.IamFunctions;
import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
import com.pulumi.aws.sns.TopicPolicy;
import com.pulumi.aws.sns.TopicPolicyArgs;
import com.pulumi.aws.costexplorer.AnomalyMonitor;
import com.pulumi.aws.costexplorer.AnomalyMonitorArgs;
import com.pulumi.aws.costexplorer.AnomalySubscription;
import com.pulumi.aws.costexplorer.AnomalySubscriptionArgs;
import com.pulumi.aws.costexplorer.inputs.AnomalySubscriptionSubscriberArgs;
import com.pulumi.resources.CustomResourceOptions;
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) {
        var costAnomalyUpdates = new Topic("costAnomalyUpdates", TopicArgs.builder()
            .name("CostAnomalyUpdates")
            .build());

final var snsTopicPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
            .policyId("__default_policy_ID")
            .statements(
                GetPolicyDocumentStatementArgs.builder()
                    .sid("AWSAnomalyDetectionSNSPublishingPermissions")
                    .actions("SNS:Publish")
                    .effect("Allow")
                    .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                        .type("Service")
                        .identifiers("costalerts.amazonaws.com")
                        .build())
                    .resources(costAnomalyUpdates.arn())
                    .build(),
                GetPolicyDocumentStatementArgs.builder()
                    .sid("__default_statement_ID")
                    .actions(
                        "SNS:Subscribe",
                        "SNS:SetTopicAttributes",
                        "SNS:RemovePermission",
                        "SNS:Receive",
                        "SNS:Publish",
                        "SNS:ListSubscriptionsByTopic",
                        "SNS:GetTopicAttributes",
                        "SNS:DeleteTopic",
                        "SNS:AddPermission")
                    .conditions(GetPolicyDocumentStatementConditionArgs.builder()
                        .test("StringEquals")
                        .variable("AWS:SourceOwner")
                        .values(accountId)
                        .build())
                    .effect("Allow")
                    .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                        .type("AWS")
                        .identifiers("*")
                        .build())
                    .resources(costAnomalyUpdates.arn())
                    .build())
            .build());

var default_ = new TopicPolicy("default", TopicPolicyArgs.builder()
            .arn(costAnomalyUpdates.arn())
            .policy(snsTopicPolicy.applyValue(_snsTopicPolicy -> _snsTopicPolicy.json()))
            .build());

var anomalyMonitor = new AnomalyMonitor("anomalyMonitor", AnomalyMonitorArgs.builder()
            .name("AWSServiceMonitor")
            .monitorType("DIMENSIONAL")
            .monitorDimension("SERVICE")
            .build());

var realtimeSubscription = new AnomalySubscription("realtimeSubscription", AnomalySubscriptionArgs.builder()
            .name("RealtimeAnomalySubscription")
            .frequency("IMMEDIATE")
            .monitorArnLists(anomalyMonitor.arn())
            .subscribers(AnomalySubscriptionSubscriberArgs.builder()
                .type("SNS")
                .address(costAnomalyUpdates.arn())
                .build())
            .build(), CustomResourceOptions.builder()
                .dependsOn(default_)
                .build());

}
}

Copy

resources:
  costAnomalyUpdates:
    type: aws:sns:Topic
    name: cost_anomaly_updates
    properties:
      name: CostAnomalyUpdates
  default:
    type: aws:sns:TopicPolicy
    properties:
      arn: ${costAnomalyUpdates.arn}
      policy: ${snsTopicPolicy.json}
  anomalyMonitor:
    type: aws:costexplorer:AnomalyMonitor
    name: anomaly_monitor
    properties:
      name: AWSServiceMonitor
      monitorType: DIMENSIONAL
      monitorDimension: SERVICE
  realtimeSubscription:
    type: aws:costexplorer:AnomalySubscription
    name: realtime_subscription
    properties:
      name: RealtimeAnomalySubscription
      frequency: IMMEDIATE
      monitorArnLists:
        - ${anomalyMonitor.arn}
      subscribers:
        - type: SNS
          address: ${costAnomalyUpdates.arn}
    options:
      dependsOn:
        - ${default}
variables:
  snsTopicPolicy:
    fn::invoke:
      function: aws:iam:getPolicyDocument
      arguments:
        policyId: __default_policy_ID
        statements:
          - sid: AWSAnomalyDetectionSNSPublishingPermissions
            actions:
              - SNS:Publish
            effect: Allow
            principals:
              - type: Service
                identifiers:
                  - costalerts.amazonaws.com
            resources:
              - ${costAnomalyUpdates.arn}
          - sid: __default_statement_ID
            actions:
              - SNS:Subscribe
              - SNS:SetTopicAttributes
              - SNS:RemovePermission
              - SNS:Receive
              - SNS:Publish
              - SNS:ListSubscriptionsByTopic
              - SNS:GetTopicAttributes
              - SNS:DeleteTopic
              - SNS:AddPermission
            conditions:
              - test: StringEquals
                variable: AWS:SourceOwner
                values:
                  - ${accountId}
            effect: Allow
            principals:
              - type: AWS
                identifiers:
                  - '*'
            resources:
              - ${costAnomalyUpdates.arn}

Copy

pulumi {
  required_providers {
    aws = {
      source = "pulumi/aws"
    }
  }
}

data "aws_iam_getpolicydocument" "snsTopicPolicy" {
  policy_id = "__default_policy_ID"
  statements {
    sid     = "AWSAnomalyDetectionSNSPublishingPermissions"
    actions = ["SNS:Publish"]
    effect  = "Allow"
    principals {
      type        = "Service"
      identifiers = ["costalerts.amazonaws.com"]
    }
    resources = [aws_sns_topic.cost_anomaly_updates.arn]
  }
  statements {
    sid     = "__default_statement_ID"
    actions = ["SNS:Subscribe", "SNS:SetTopicAttributes", "SNS:RemovePermission", "SNS:Receive", "SNS:Publish", "SNS:ListSubscriptionsByTopic", "SNS:GetTopicAttributes", "SNS:DeleteTopic", "SNS:AddPermission"]
    conditions {
      test     = "StringEquals"
      variable = "AWS:SourceOwner"
      values   = [accountId]
    }
    effect = "Allow"
    principals {
      type        = "AWS"
      identifiers = ["*"]
    }
    resources = [aws_sns_topic.cost_anomaly_updates.arn]
  }
}

resource "aws_sns_topic" "cost_anomaly_updates" {
  name = "CostAnomalyUpdates"
}
resource "aws_sns_topicpolicy" "default" {
  arn    = aws_sns_topic.cost_anomaly_updates.arn
  policy = data.aws_iam_getpolicydocument.snsTopicPolicy.json
}
resource "aws_costexplorer_anomalymonitor" "anomaly_monitor" {
  name              = "AWSServiceMonitor"
  monitor_type      = "DIMENSIONAL"
  monitor_dimension = "SERVICE"
}
resource "aws_costexplorer_anomalysubscription" "realtime_subscription" {
  depends_on        = [aws_sns_topicpolicy.default]
  name              = "RealtimeAnomalySubscription"
  frequency         = "IMMEDIATE"
  monitor_arn_lists = [aws_costexplorer_anomalymonitor.anomaly_monitor.arn]
  subscribers {
    type    = "SNS"
    address = aws_sns_topic.cost_anomaly_updates.arn
  }
}

Copy

Create AnomalySubscription Resource Anchor

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

Constructor syntax Anchor

  • TypeScript
  • Python
  • Go
  • C#
  • Java
  • YAML
  • HCL PREVIEW
new AnomalySubscription(name: string, args: AnomalySubscriptionArgs, opts?: CustomResourceOptions);
@overload
def AnomalySubscription(resource_name: str,
                        args: AnomalySubscriptionArgs,
                        opts: Optional[ResourceOptions] = None)

@overload
def AnomalySubscription(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        frequency: Optional[str] = None,
                        monitor_arn_lists: Optional[Sequence[str]] = None,
                        subscribers: Optional[Sequence[AnomalySubscriptionSubscriberArgs]] = None,
                        account_id: Optional[str] = None,
                        name: Optional[str] = None,
                        tags: Optional[Mapping[str, str]] = None,
                        threshold_expression: Optional[AnomalySubscriptionThresholdExpressionArgs] = None)
func NewAnomalySubscription(ctx *Context, name string, args AnomalySubscriptionArgs, opts ...ResourceOption) (*AnomalySubscription, error)
public AnomalySubscription(string name, AnomalySubscriptionArgs args, CustomResourceOptions? opts = null)
public AnomalySubscription(String name, AnomalySubscriptionArgs args)
public AnomalySubscription(String name, AnomalySubscriptionArgs args, CustomResourceOptions options)
type: aws:costexplorer:AnomalySubscription
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "aws_costexplorer_anomalysubscription" "name" {
    # resource properties
}

Parameters Anchor

nameThis property is required.stringThe unique name of the resource.argsThis property is required.AnomalySubscriptionArgsThe arguments to resource properties.optsCustomResourceOptionsBag of options to control resource's behavior.

resource_nameThis property is required.strThe unique name of the resource.argsThis property is required.AnomalySubscriptionArgsThe arguments to resource properties.optsResourceOptionsBag of options to control resource's behavior.

ctxContextContext object for the current deployment.nameThis property is required.stringThe unique name of the resource.argsThis property is required.AnomalySubscriptionArgsThe arguments to resource properties.optsResourceOptionBag of options to control resource's behavior.

nameThis property is required.stringThe unique name of the resource.argsThis property is required.AnomalySubscriptionArgsThe arguments to resource properties.optsCustomResourceOptionsBag of options to control resource's behavior.

nameThis property is required.StringThe unique name of the resource.argsThis property is required.AnomalySubscriptionArgsThe arguments to resource properties.optionsCustomResourceOptionsBag of options to control resource's behavior.

Constructor example Anchor

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

  • TypeScript
  • Python
  • Go
  • C#
  • Java
  • YAML
  • HCL PREVIEW
var anomalySubscriptionResource = new Aws.CostExplorer.AnomalySubscription("anomalySubscriptionResource", new()
{
    Frequency = "string",
    MonitorArnLists = new[]
    {
        "string",
    },
    Subscribers = new[]
    {
        new Aws.CostExplorer.Inputs.AnomalySubscriptionSubscriberArgs
        {
            Address = "string",
            Type = "string",
        },
    },
    AccountId = "string",
    Name = "string",
    Tags =
    {
        { "string", "string" },
    },
    ThresholdExpression = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionArgs
    {
        Ands = new[]
        {
            new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndArgs
            {
                CostCategory = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndCostCategoryArgs
                {
                    Key = "string",
                    MatchOptions = new[]
                    {
                        "string",
                    },
                    Values = new[]
                    {
                        "string",
                    },
                },
                Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndDimensionArgs
                {
                    Key = "string",
                    MatchOptions = new[]
                    {
                        "string",
                    },
                    Values = new[]
                    {
                        "string",
                    },
                },
                Tags = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionAndTagsArgs
                {
                    Key = "string",
                    MatchOptions = new[]
                    {
                        "string",
                    },
                    Values = new[]
                    {
                        "string",
                    },
                },
            },
        },
        CostCategory = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionCostCategoryArgs
        {
            Key = "string",
            MatchOptions = new[]
            {
                "string",
            },
            Values = new[]
            {
                "string",
            },
        },
        Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionDimensionArgs
        {
            Key = "string",
            MatchOptions = new[]
            {
                "string",
            },
            Values = new[]
            {
                "string",
            },
        },
        Not = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionNotArgs
        {
            CostCategory = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionNotCostCategoryArgs
            {
                Key = "string",
                MatchOptions = new[]
                {
                    "string",
                },
                Values = new[]
                {
                    "string",
                },
            },
            Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionNotDimensionArgs
            {
                Key = "string",
                MatchOptions = new[]
                {
                    "string",
                },
                Values = new[]
                {
                    "string",
                },
            },
            Tags = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionNotTagsArgs
            {
                Key = "string",
                MatchOptions = new[]
                {
                    "string",
                },
                Values = new[]
                {
                    "string",
                },
            },
        },
        Ors = new[]
        {
            new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionOrArgs
            {
                CostCategory = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionOrCostCategoryArgs
                {
                    Key = "string",
                    MatchOptions = new[]
                    {
                        "string",
                    },
                    Values = new[]
                    {
                        "string",
                    },
                },
                Dimension = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionOrDimensionArgs
                {
                    Key = "string",
                    MatchOptions = new[]
                    {
                        "string",
                    },
                    Values = new[]
                    {
                        "string",
                    },
                },
                Tags = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionOrTagsArgs
                {
                    Key = "string",
                    MatchOptions = new[]
                    {
                        "string",
                    },
                    Values = new[]
                    {
                        "string",
                    },
                },
            },
        },
        Tags = new Aws.CostExplorer.Inputs.AnomalySubscriptionThresholdExpressionTagsArgs
        {
            Key = "string",
            MatchOptions = new[]
            {
                "string",
            },
            Values = new[]
            {
                "string",
            },
        },
    },
});

Copy

example, err := costexplorer.NewAnomalySubscription(ctx, "anomalySubscriptionResource", &costexplorer.AnomalySubscriptionArgs{
    Frequency: pulumi.String("string"),
    MonitorArnLists: pulumi.StringArray{
        pulumi.String("string"),
    },
    Subscribers: costexplorer.AnomalySubscriptionSubscriberArray{
        &costexplorer.AnomalySubscriptionSubscriberArgs{
            Address: pulumi.String("string"),
            Type:    pulumi.String("string"),
        },
    },
    AccountId: pulumi.String("string"),
    Name:      pulumi.String("string"),
    Tags: pulumi.StringMap{
        "string": pulumi.String("string"),
    },
    ThresholdExpression: &costexplorer.AnomalySubscriptionThresholdExpressionArgs{
        Ands: costexplorer.AnomalySubscriptionThresholdExpressionAndArray{
            &costexplorer.AnomalySubscriptionThresholdExpressionAndArgs{
                CostCategory: &costexplorer.AnomalySubscriptionThresholdExpressionAndCostCategoryArgs{
                    Key: pulumi.String("string"),
                    MatchOptions: pulumi.StringArray{
                        pulumi.String("string"),
                    },
                    Values: pulumi.StringArray{
                        pulumi.String("string"),
                    },
                },
                Dimension: &costexplorer.AnomalySubscriptionThresholdExpressionAndDimensionArgs{
                    Key: pulumi.String("string"),
                    MatchOptions: pulumi.StringArray{
                        pulumi.String("string"),
                    },
                    Values: pulumi.StringArray{
                        pulumi.String("string"),
                    },
                },
                Tags: &costexplorer.AnomalySubscriptionThresholdExpressionAndTagsArgs{
                    Key: pulumi.String("string"),
                    MatchOptions: pulumi.StringArray{
                        pulumi.String("string"),
                    },
                    Values: pulumi.StringArray{
                        pulumi.String("string"),
                    },
                },
            },
        },
        CostCategory: &costexplorer.AnomalySubscriptionThresholdExpressionCostCategoryArgs{
            Key: pulumi.String("string"),
            MatchOptions: pulumi.StringArray{
                pulumi.String("string"),
            },
            Values: pulumi.StringArray{
                pulumi.String("string"),
            },
        },
        Dimension: &costexplorer.AnomalySubscriptionThresholdExpressionDimensionArgs{
            Key: pulumi.String("string"),
            MatchOptions: pulumi.StringArray{
                pulumi.String("string"),
            },
            Values: pulumi.StringArray{
                pulumi.String("string"),
            },
        },
        Not: &costexplorer.AnomalySubscriptionThresholdExpressionNotArgs{
            CostCategory: &costexplorer.AnomalySubscriptionThresholdExpressionNotCostCategoryArgs{
                Key: pulumi.String("string"),
                MatchOptions: pulumi.StringArray{
                    pulumi.String("string"),
                },
                Values: pulumi.StringArray{
                    pulumi.String("string"),
                },
            },
            Dimension: &costexplorer.AnomalySubscriptionThresholdExpressionNotDimensionArgs{
                Key: pulumi.String("string"),
                MatchOptions: pulumi.StringArray{
                    pulumi.String("string"),
                },
                Values: pulumi.StringArray{
                    pulumi.String("string"),
                },
            },
            Tags: &costexplorer.AnomalySubscriptionThresholdExpressionNotTagsArgs{
                Key: pulumi.String("string"),
                MatchOptions: pulumi.StringArray{
                    pulumi.String("string"),
                },
                Values: pulumi.StringArray{
                    pulumi.String("string"),
                },
            },
        },
        Ors: costexplorer.AnomalySubscriptionThresholdExpressionOrArray{
            &costexplorer.AnomalySubscriptionThresholdExpressionOrArgs{
                CostCategory: &costexplorer.AnomalySubscriptionThresholdExpressionOrCostCategoryArgs{
                    Key: pulumi.String("string"),
                    MatchOptions: pulumi.StringArray{
                        pulumi.String("string"),
                    },
                    Values: pulumi.StringArray{
                        pulumi.String("string"),
                    },
                },
                Dimension: &costexplorer.AnomalySubscriptionThresholdExpressionOrDimensionArgs{
                    Key: pulumi.String("string"),
                    MatchOptions: pulumi.StringArray{
                        pulumi.String("string"),
                    },
                    Values: pulumi.StringArray{
                        pulumi.String("string"),
                    },
                },
                Tags: &costexplorer.AnomalySubscriptionThresholdExpressionOrTagsArgs{
                    Key: pulumi.String("string"),
                    MatchOptions: pulumi.StringArray{
                        pulumi.String("string"),
                    },
                    Values: pulumi.StringArray{
                        pulumi.String("string"),
                    },
                },
            },
        },
        Tags: &costexplorer.AnomalySubscriptionThresholdExpressionTagsArgs{
            Key: pulumi.String("string"),
            MatchOptions: pulumi.StringArray{
                pulumi.String("string"),
            },
            Values: pulumi.StringArray{
                pulumi.String("string"),
            },
        },
    },
})

Copy

resource "aws_costexplorer_anomalysubscription" "anomalySubscriptionResource" {
  frequency         = "string"
  monitor_arn_lists = ["string"]
  subscribers {
    address = "string"
    type    = "string"
  }
  account_id = "string"
  name       = "string"
  tags = {
    "string" = "string"
  }
  threshold_expression = {
    ands = [{\
      "costCategory" = {\
        "key"          = "string"\
        "matchOptions" = ["string"]\
        "values"       = ["string"]\
      }\
      "dimension" = {\
        "key"          = "string"\
        "matchOptions" = ["string"]\
        "values"       = ["string"]\
      }\
      "tags" = {\
        "key"          = "string"\
        "matchOptions" = ["string"]\
        "values"       = ["string"]\
      }\
    }]
    cost_category = {
      key           = "string"
      match_options = ["string"]
      values        = ["string"]
    }
    dimension = {
      key           = "string"
      match_options = ["string"]
      values        = ["string"]
    }
    not = {
      cost_category = {
        key           = "string"
        match_options = ["string"]
        values        = ["string"]
      }
      dimension = {
        key           = "string"
        match_options = ["string"]
        values        = ["string"]
      }
      tags = {
        key           = "string"
        match_options = ["string"]
        values        = ["string"]
      }
    }
    ors = [{\
      "costCategory" = {\
        "key"          = "string"\
        "matchOptions" = ["string"]\
        "values"       = ["string"]\
      }\
      "dimension" = {\
        "key"          = "string"\
        "matchOptions" = ["string"]\
        "values"       = ["string"]\
      }\
      "tags" = {\
        "key"          = "string"\
        "matchOptions" = ["string"]\
        "values"       = ["string"]\
      }\
    }]
    tags = {
      key           = "string"
      match_options = ["string"]
      values        = ["string"]
    }
  }
}

Copy

var anomalySubscriptionResource = new AnomalySubscription("anomalySubscriptionResource", AnomalySubscriptionArgs.builder()
    .frequency("string")
    .monitorArnLists("string")
    .subscribers(AnomalySubscriptionSubscriberArgs.builder()
        .address("string")
        .type("string")
        .build())
    .accountId("string")
    .name("string")
    .tags(Map.of("string", "string"))
    .thresholdExpression(AnomalySubscriptionThresholdExpressionArgs.builder()
        .ands(AnomalySubscriptionThresholdExpressionAndArgs.builder()
            .costCategory(AnomalySubscriptionThresholdExpressionAndCostCategoryArgs.builder()
                .key("string")
                .matchOptions("string")
                .values("string")
                .build())
            .dimension(AnomalySubscriptionThresholdExpressionAndDimensionArgs.builder()
                .key("string")
                .matchOptions("string")
                .values("string")
                .build())
            .tags(AnomalySubscriptionThresholdExpressionAndTagsArgs.builder()
                .key("string")
                .matchOptions("string")
                .values("string")
                .build())
            .build())
        .costCategory(AnomalySubscriptionThresholdExpressionCostCategoryArgs.builder()
            .key("string")
            .matchOptions("string")
            .values("string")
            .build())
        .dimension(AnomalySubscriptionThresholdExpressionDimensionArgs.builder()
            .key("string")
            .matchOptions("string")
            .values("string")
            .build())
        .not(AnomalySubscriptionThresholdExpressionNotArgs.builder()
            .costCategory(AnomalySubscriptionThresholdExpressionNotCostCategoryArgs.builder()
                .key("string")
                .matchOptions("string")
                .values("string")
                .build())
            .dimension(AnomalySubscriptionThresholdExpressionNotDimensionArgs.builder()
                .key("string")
                .matchOptions("string")
                .values("string")
                .build())
            .tags(AnomalySubscriptionThresholdExpressionNotTagsArgs.builder()
                .key("string")
                .matchOptions("string")
                .values("string")
                .build())
            .build())
        .ors(AnomalySubscriptionThresholdExpressionOrArgs.builder()
            .costCategory(AnomalySubscriptionThresholdExpressionOrCostCategoryArgs.builder()
                .key("string")
                .matchOptions("string")
                .values("string")
                .build())
            .dimension(AnomalySubscriptionThresholdExpressionOrDimensionArgs.builder()
                .key("string")
                .matchOptions("string")
                .values("string")
                .build())
            .tags(AnomalySubscriptionThresholdExpressionOrTagsArgs.builder()
                .key("string")
                .matchOptions("string")
                .values("string")
                .build())
            .build())
        .tags(AnomalySubscriptionThresholdExpressionTagsArgs.builder()
            .key("string")
            .matchOptions("string")
            .values("string")
            .build())
        .build())
    .build());

Copy

anomaly_subscription_resource = aws.costexplorer.AnomalySubscription("anomalySubscriptionResource",
    frequency="string",
    monitor_arn_lists=["string"],
    subscribers=[{\
        "address": "string",\
        "type": "string",\
    }],
    account_id="string",
    name="string",
    tags={
        "string": "string",
    },
    threshold_expression={
        "ands": [{\
            "cost_category": {\
                "key": "string",\
                "match_options": ["string"],\
                "values": ["string"],\
            },\
            "dimension": {\
                "key": "string",\
                "match_options": ["string"],\
                "values": ["string"],\
            },\
            "tags": {\
                "key": "string",\
                "match_options": ["string"],\
                "values": ["string"],\
            },\
        }],
        "cost_category": {
            "key": "string",
            "match_options": ["string"],
            "values": ["string"],
        },
        "dimension": {
            "key": "string",
            "match_options": ["string"],
            "values": ["string"],
        },
        "not_": {
            "cost_category": {
                "key": "string",
                "match_options": ["string"],
                "values": ["string"],
            },
            "dimension": {
                "key": "string",
                "match_options": ["string"],
                "values": ["string"],
            },
            "tags": {
                "key": "string",
                "match_options": ["string"],
                "values": ["string"],
            },
        },
        "ors": [{\
            "cost_category": {\
                "key": "string",\
                "match_options": ["string"],\
                "values": ["string"],\
            },\
            "dimension": {\
                "key": "string",\
                "match_options": ["string"],\
                "values": ["string"],\
            },\
            "tags": {\
                "key": "string",\
                "match_options": ["string"],\
                "values": ["string"],\
            },\
        }],
        "tags": {
            "key": "string",
            "match_options": ["string"],
            "values": ["string"],
        },
    })

Copy

const anomalySubscriptionResource = new aws.costexplorer.AnomalySubscription("anomalySubscriptionResource", {
    frequency: "string",
    monitorArnLists: ["string"],
    subscribers: [{\
        address: "string",\
        type: "string",\
    }],
    accountId: "string",
    name: "string",
    tags: {
        string: "string",
    },
    thresholdExpression: {
        ands: [{\
            costCategory: {\
                key: "string",\
                matchOptions: ["string"],\
                values: ["string"],\
            },\
            dimension: {\
                key: "string",\
                matchOptions: ["string"],\
                values: ["string"],\
            },\
            tags: {\
                key: "string",\
                matchOptions: ["string"],\
                values: ["string"],\
            },\
        }],
        costCategory: {
            key: "string",
            matchOptions: ["string"],
            values: ["string"],
        },
        dimension: {
            key: "string",
            matchOptions: ["string"],
            values: ["string"],
        },
        not: {
            costCategory: {
                key: "string",
                matchOptions: ["string"],
                values: ["string"],
            },
            dimension: {
                key: "string",
                matchOptions: ["string"],
                values: ["string"],
            },
            tags: {
                key: "string",
                matchOptions: ["string"],
                values: ["string"],
            },
        },
        ors: [{\
            costCategory: {\
                key: "string",\
                matchOptions: ["string"],\
                values: ["string"],\
            },\
            dimension: {\
                key: "string",\
                matchOptions: ["string"],\
                values: ["string"],\
            },\
            tags: {\
                key: "string",\
                matchOptions: ["string"],\
                values: ["string"],\
            },\
        }],
        tags: {
            key: "string",
            matchOptions: ["string"],
            values: ["string"],
        },
    },
});

Copy

type: aws:costexplorer:AnomalySubscription
properties:
    accountId: string
    frequency: string
    monitorArnLists:
        - string
    name: string
    subscribers:
        - address: string
          type: string
    tags:
        string: string
    thresholdExpression:
        ands:
            - costCategory:
                key: string
                matchOptions:
                    - string
                values:
                    - string
              dimension:
                key: string
                matchOptions:
                    - string
                values:
                    - string
              tags:
                key: string
                matchOptions:
                    - string
                values:
                    - string
        costCategory:
            key: string
            matchOptions:
                - string
            values:
                - string
        dimension:
            key: string
            matchOptions:
                - string
            values:
                - string
        not:
            costCategory:
                key: string
                matchOptions:
                    - string
                values:
                    - string
            dimension:
                key: string
                matchOptions:
                    - string
                values:
                    - string
            tags:
                key: string
                matchOptions:
                    - string
                values:
                    - string
        ors:
            - costCategory:
                key: string
                matchOptions:
                    - string
                values:
                    - string
              dimension:
                key: string
                matchOptions:
                    - string
                values:
                    - string
              tags:
                key: string
                matchOptions:
                    - string
                values:
                    - string
        tags:
            key: string
            matchOptions:
                - string
            values:
                - string

Copy

AnomalySubscription Resource Properties Anchor

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

Inputs Anchor

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

The AnomalySubscription resource accepts the following input properties:

FrequencyThis property is required.stringThe frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.MonitorArnListsThis property is required.ListA list of cost anomaly monitors.SubscribersThis property is required.ListA subscriber configuration. Multiple subscribers can be defined.AccountIdChanges to this property will trigger replacement.stringThe unique identifier for the AWS account in which the anomaly subscription ought to be created.NameChanges to this property will trigger replacement.stringThe name for the subscription.TagsDictionary<string, string>A map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.ThresholdExpressionAnomalySubscriptionThresholdExpressionAn Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.

FrequencyThis property is required.stringThe frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.MonitorArnListsThis property is required.[]stringA list of cost anomaly monitors.SubscribersThis property is required.[]AnomalySubscriptionSubscriberArgsA subscriber configuration. Multiple subscribers can be defined.AccountIdChanges to this property will trigger replacement.stringThe unique identifier for the AWS account in which the anomaly subscription ought to be created.NameChanges to this property will trigger replacement.stringThe name for the subscription.Tagsmap[string]stringA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.ThresholdExpressionAnomalySubscriptionThresholdExpressionArgsAn Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.

frequencyThis property is required.stringThe frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.monitor_arn_listsThis property is required.list(string)A list of cost anomaly monitors.subscribersThis property is required.list(object)A subscriber configuration. Multiple subscribers can be defined.account_idChanges to this property will trigger replacement.stringThe unique identifier for the AWS account in which the anomaly subscription ought to be created.nameChanges to this property will trigger replacement.stringThe name for the subscription.tagsmap(string)A map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.threshold_expressionobjectAn Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.

frequencyThis property is required.StringThe frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.monitorArnListsThis property is required.ListA list of cost anomaly monitors.subscribersThis property is required.ListA subscriber configuration. Multiple subscribers can be defined.accountIdChanges to this property will trigger replacement.StringThe unique identifier for the AWS account in which the anomaly subscription ought to be created.nameChanges to this property will trigger replacement.StringThe name for the subscription.tagsMap<String,String>A map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.thresholdExpressionAnomalySubscriptionThresholdExpressionAn Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.

frequencyThis property is required.stringThe frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.monitorArnListsThis property is required.string[]A list of cost anomaly monitors.subscribersThis property is required.AnomalySubscriptionSubscriber[]A subscriber configuration. Multiple subscribers can be defined.accountIdChanges to this property will trigger replacement.stringThe unique identifier for the AWS account in which the anomaly subscription ought to be created.nameChanges to this property will trigger replacement.stringThe name for the subscription.tags{[key: string]: string}A map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.thresholdExpressionAnomalySubscriptionThresholdExpressionAn Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.

frequencyThis property is required.strThe frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.monitor_arn_listsThis property is required.Sequence[str]A list of cost anomaly monitors.subscribersThis property is required.Sequence[AnomalySubscriptionSubscriberArgs]A subscriber configuration. Multiple subscribers can be defined.account_idChanges to this property will trigger replacement.strThe unique identifier for the AWS account in which the anomaly subscription ought to be created.nameChanges to this property will trigger replacement.strThe name for the subscription.tagsMapping[str, str]A map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.threshold_expressionAnomalySubscriptionThresholdExpressionArgsAn Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.

frequencyThis property is required.StringThe frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.monitorArnListsThis property is required.ListA list of cost anomaly monitors.subscribersThis property is required.ListA subscriber configuration. Multiple subscribers can be defined.accountIdChanges to this property will trigger replacement.StringThe unique identifier for the AWS account in which the anomaly subscription ought to be created.nameChanges to this property will trigger replacement.StringThe name for the subscription.tagsMapA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.thresholdExpressionProperty MapAn Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.

Outputs Anchor

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

ArnstringARN of the anomaly subscription.IdstringThe provider-assigned unique ID for this managed resource.TagsAllDictionary<string, string>A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.

ArnstringARN of the anomaly subscription.IdstringThe provider-assigned unique ID for this managed resource.TagsAllmap[string]stringA map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.

arnstringARN of the anomaly subscription.idstringThe provider-assigned unique ID for this managed resource.tags_allmap(string)A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.

arnStringARN of the anomaly subscription.idStringThe provider-assigned unique ID for this managed resource.tagsAllMap<String,String>A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.

arnstringARN of the anomaly subscription.idstringThe provider-assigned unique ID for this managed resource.tagsAll{[key: string]: string}A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.

arnstrARN of the anomaly subscription.idstrThe provider-assigned unique ID for this managed resource.tags_allMapping[str, str]A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.

arnStringARN of the anomaly subscription.idStringThe provider-assigned unique ID for this managed resource.tagsAllMapA map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.

Look up Existing AnomalySubscription Resource Anchor

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

  • TypeScript
  • Python
  • Go
  • C#
  • Java
  • YAML
  • HCL PREVIEW
public static get(name: string, id: Input<ID>, state?: AnomalySubscriptionState, opts?: CustomResourceOptions): AnomalySubscription
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        account_id: Optional[str] = None,
        arn: Optional[str] = None,
        frequency: Optional[str] = None,
        monitor_arn_lists: Optional[Sequence[str]] = None,
        name: Optional[str] = None,
        subscribers: Optional[Sequence[AnomalySubscriptionSubscriberArgs]] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None,
        threshold_expression: Optional[AnomalySubscriptionThresholdExpressionArgs] = None) -> AnomalySubscription
func GetAnomalySubscription(ctx *Context, name string, id IDInput, state *AnomalySubscriptionState, opts ...ResourceOption) (*AnomalySubscription, error)
public static AnomalySubscription Get(string name, Input<string> id, AnomalySubscriptionState? state, CustomResourceOptions? opts = null)
public static AnomalySubscription get(String name, Output<String> id, AnomalySubscriptionState state, CustomResourceOptions options)
resources:  _:    type: aws:costexplorer:AnomalySubscription    get:      id: ${id}
import {
  to = aws_costexplorer_anomalysubscription.example
  id = "${id}"
}

nameThis property is required.The unique name of the resulting resource.idThis property is required.The unique provider ID of the resource to lookup.stateAny extra arguments used during the lookup.optsA bag of options that control this resource's behavior.

resource_nameThis property is required.The unique name of the resulting resource.idThis property is required.The unique provider ID of the resource to lookup.

The following state arguments are supported:

AccountIdChanges to this property will trigger replacement.stringThe unique identifier for the AWS account in which the anomaly subscription ought to be created.ArnstringARN of the anomaly subscription.FrequencystringThe frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.MonitorArnListsListA list of cost anomaly monitors.NameChanges to this property will trigger replacement.stringThe name for the subscription.SubscribersListA subscriber configuration. Multiple subscribers can be defined.TagsDictionary<string, string>A map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.TagsAllDictionary<string, string>A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.ThresholdExpressionAnomalySubscriptionThresholdExpressionAn Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.

AccountIdChanges to this property will trigger replacement.stringThe unique identifier for the AWS account in which the anomaly subscription ought to be created.ArnstringARN of the anomaly subscription.FrequencystringThe frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.MonitorArnLists[]stringA list of cost anomaly monitors.NameChanges to this property will trigger replacement.stringThe name for the subscription.Subscribers[]AnomalySubscriptionSubscriberArgsA subscriber configuration. Multiple subscribers can be defined.Tagsmap[string]stringA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.TagsAllmap[string]stringA map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.ThresholdExpressionAnomalySubscriptionThresholdExpressionArgsAn Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.

account_idChanges to this property will trigger replacement.stringThe unique identifier for the AWS account in which the anomaly subscription ought to be created.arnstringARN of the anomaly subscription.frequencystringThe frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.monitor_arn_listslist(string)A list of cost anomaly monitors.nameChanges to this property will trigger replacement.stringThe name for the subscription.subscriberslist(object)A subscriber configuration. Multiple subscribers can be defined.tagsmap(string)A map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.tags_allmap(string)A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.threshold_expressionobjectAn Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.

accountIdChanges to this property will trigger replacement.StringThe unique identifier for the AWS account in which the anomaly subscription ought to be created.arnStringARN of the anomaly subscription.frequencyStringThe frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.monitorArnListsListA list of cost anomaly monitors.nameChanges to this property will trigger replacement.StringThe name for the subscription.subscribersListA subscriber configuration. Multiple subscribers can be defined.tagsMap<String,String>A map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.tagsAllMap<String,String>A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.thresholdExpressionAnomalySubscriptionThresholdExpressionAn Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.

accountIdChanges to this property will trigger replacement.stringThe unique identifier for the AWS account in which the anomaly subscription ought to be created.arnstringARN of the anomaly subscription.frequencystringThe frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.monitorArnListsstring[]A list of cost anomaly monitors.nameChanges to this property will trigger replacement.stringThe name for the subscription.subscribersAnomalySubscriptionSubscriber[]A subscriber configuration. Multiple subscribers can be defined.tags{[key: string]: string}A map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.tagsAll{[key: string]: string}A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.thresholdExpressionAnomalySubscriptionThresholdExpressionAn Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.

account_idChanges to this property will trigger replacement.strThe unique identifier for the AWS account in which the anomaly subscription ought to be created.arnstrARN of the anomaly subscription.frequencystrThe frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.monitor_arn_listsSequence[str]A list of cost anomaly monitors.nameChanges to this property will trigger replacement.strThe name for the subscription.subscribersSequence[AnomalySubscriptionSubscriberArgs]A subscriber configuration. Multiple subscribers can be defined.tagsMapping[str, str]A map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.tags_allMapping[str, str]A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.threshold_expressionAnomalySubscriptionThresholdExpressionArgsAn Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.

accountIdChanges to this property will trigger replacement.StringThe unique identifier for the AWS account in which the anomaly subscription ought to be created.arnStringARN of the anomaly subscription.frequencyStringThe frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.monitorArnListsListA list of cost anomaly monitors.nameChanges to this property will trigger replacement.StringThe name for the subscription.subscribersListA subscriber configuration. Multiple subscribers can be defined.tagsMapA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.tagsAllMapA map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.thresholdExpressionProperty MapAn Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.

Supporting Types Anchor

AnomalySubscriptionSubscriber , AnomalySubscriptionSubscriberArgs Anchor

AddressThis property is required.stringThe address of the subscriber. If type is SNS, this will be the arn of the sns topic. If type is EMAIL, this will be the destination email address.TypeThis property is required.stringThe type of subscription. Valid Values: SNS | EMAIL.

AddressThis property is required.stringThe address of the subscriber. If type is SNS, this will be the arn of the sns topic. If type is EMAIL, this will be the destination email address.TypeThis property is required.stringThe type of subscription. Valid Values: SNS | EMAIL.

addressThis property is required.stringThe address of the subscriber. If type is SNS, this will be the arn of the sns topic. If type is EMAIL, this will be the destination email address.typeThis property is required.stringThe type of subscription. Valid Values: SNS | EMAIL.

addressThis property is required.StringThe address of the subscriber. If type is SNS, this will be the arn of the sns topic. If type is EMAIL, this will be the destination email address.typeThis property is required.StringThe type of subscription. Valid Values: SNS | EMAIL.

addressThis property is required.stringThe address of the subscriber. If type is SNS, this will be the arn of the sns topic. If type is EMAIL, this will be the destination email address.typeThis property is required.stringThe type of subscription. Valid Values: SNS | EMAIL.

addressThis property is required.strThe address of the subscriber. If type is SNS, this will be the arn of the sns topic. If type is EMAIL, this will be the destination email address.typeThis property is required.strThe type of subscription. Valid Values: SNS | EMAIL.

addressThis property is required.StringThe address of the subscriber. If type is SNS, this will be the arn of the sns topic. If type is EMAIL, this will be the destination email address.typeThis property is required.StringThe type of subscription. Valid Values: SNS | EMAIL.

AnomalySubscriptionThresholdExpression , AnomalySubscriptionThresholdExpressionArgs Anchor

AndsListReturn results that match both Dimension objects.CostCategoryAnomalySubscriptionThresholdExpressionCostCategoryConfiguration block for the filter that's based on values. See Cost Category below.DimensionAnomalySubscriptionThresholdExpressionDimensionConfiguration block for the specific Dimension to use for.NotAnomalySubscriptionThresholdExpressionNotReturn results that do not match the Dimension object.OrsListReturn results that match either Dimension object.TagsAnomalySubscriptionThresholdExpressionTagsConfiguration block for the specific Tag to use for. See Tags below.

Ands[]AnomalySubscriptionThresholdExpressionAndReturn results that match both Dimension objects.CostCategoryAnomalySubscriptionThresholdExpressionCostCategoryConfiguration block for the filter that's based on values. See Cost Category below.DimensionAnomalySubscriptionThresholdExpressionDimensionConfiguration block for the specific Dimension to use for.NotAnomalySubscriptionThresholdExpressionNotReturn results that do not match the Dimension object.Ors[]AnomalySubscriptionThresholdExpressionOrReturn results that match either Dimension object.TagsAnomalySubscriptionThresholdExpressionTagsConfiguration block for the specific Tag to use for. See Tags below.

andslist(object)Return results that match both Dimension objects.cost_categoryobjectConfiguration block for the filter that's based on values. See Cost Category below.dimensionobjectConfiguration block for the specific Dimension to use for.notobjectReturn results that do not match the Dimension object.orslist(object)Return results that match either Dimension object.tagsobjectConfiguration block for the specific Tag to use for. See Tags below.

andsListReturn results that match both Dimension objects.costCategoryAnomalySubscriptionThresholdExpressionCostCategoryConfiguration block for the filter that's based on values. See Cost Category below.dimensionAnomalySubscriptionThresholdExpressionDimensionConfiguration block for the specific Dimension to use for.notAnomalySubscriptionThresholdExpressionNotReturn results that do not match the Dimension object.orsListReturn results that match either Dimension object.tagsAnomalySubscriptionThresholdExpressionTagsConfiguration block for the specific Tag to use for. See Tags below.

andsAnomalySubscriptionThresholdExpressionAnd[]Return results that match both Dimension objects.costCategoryAnomalySubscriptionThresholdExpressionCostCategoryConfiguration block for the filter that's based on values. See Cost Category below.dimensionAnomalySubscriptionThresholdExpressionDimensionConfiguration block for the specific Dimension to use for.notAnomalySubscriptionThresholdExpressionNotReturn results that do not match the Dimension object.orsAnomalySubscriptionThresholdExpressionOr[]Return results that match either Dimension object.tagsAnomalySubscriptionThresholdExpressionTagsConfiguration block for the specific Tag to use for. See Tags below.

andsSequence[AnomalySubscriptionThresholdExpressionAnd]Return results that match both Dimension objects.cost_categoryAnomalySubscriptionThresholdExpressionCostCategoryConfiguration block for the filter that's based on values. See Cost Category below.dimensionAnomalySubscriptionThresholdExpressionDimensionConfiguration block for the specific Dimension to use for.not_AnomalySubscriptionThresholdExpressionNotReturn results that do not match the Dimension object.orsSequence[AnomalySubscriptionThresholdExpressionOr]Return results that match either Dimension object.tagsAnomalySubscriptionThresholdExpressionTagsConfiguration block for the specific Tag to use for. See Tags below.

andsListReturn results that match both Dimension objects.costCategoryProperty MapConfiguration block for the filter that's based on values. See Cost Category below.dimensionProperty MapConfiguration block for the specific Dimension to use for.notProperty MapReturn results that do not match the Dimension object.orsListReturn results that match either Dimension object.tagsProperty MapConfiguration block for the specific Tag to use for. See Tags below.

AnomalySubscriptionThresholdExpressionAnd , AnomalySubscriptionThresholdExpressionAndArgs Anchor

CostCategoryAnomalySubscriptionThresholdExpressionAndCostCategoryConfiguration block for the filter that's based on values. See Cost Category below.DimensionAnomalySubscriptionThresholdExpressionAndDimensionConfiguration block for the specific Dimension to use for.TagsAnomalySubscriptionThresholdExpressionAndTagsA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

CostCategoryAnomalySubscriptionThresholdExpressionAndCostCategoryConfiguration block for the filter that's based on values. See Cost Category below.DimensionAnomalySubscriptionThresholdExpressionAndDimensionConfiguration block for the specific Dimension to use for.TagsAnomalySubscriptionThresholdExpressionAndTagsA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

cost_categoryobjectConfiguration block for the filter that's based on values. See Cost Category below.dimensionobjectConfiguration block for the specific Dimension to use for.tagsobjectA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

costCategoryAnomalySubscriptionThresholdExpressionAndCostCategoryConfiguration block for the filter that's based on values. See Cost Category below.dimensionAnomalySubscriptionThresholdExpressionAndDimensionConfiguration block for the specific Dimension to use for.tagsAnomalySubscriptionThresholdExpressionAndTagsA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

costCategoryAnomalySubscriptionThresholdExpressionAndCostCategoryConfiguration block for the filter that's based on values. See Cost Category below.dimensionAnomalySubscriptionThresholdExpressionAndDimensionConfiguration block for the specific Dimension to use for.tagsAnomalySubscriptionThresholdExpressionAndTagsA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

cost_categoryAnomalySubscriptionThresholdExpressionAndCostCategoryConfiguration block for the filter that's based on values. See Cost Category below.dimensionAnomalySubscriptionThresholdExpressionAndDimensionConfiguration block for the specific Dimension to use for.tagsAnomalySubscriptionThresholdExpressionAndTagsA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

costCategoryProperty MapConfiguration block for the filter that's based on values. See Cost Category below.dimensionProperty MapConfiguration block for the specific Dimension to use for.tagsProperty MapA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

AnomalySubscriptionThresholdExpressionAndCostCategory , AnomalySubscriptionThresholdExpressionAndCostCategoryArgs Anchor

KeystringUnique name of the Cost Category.MatchOptionsListMatch options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is EQUALS and CASE_SENSITIVE. Valid values are: EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE.ValuesListSpecific value of the Cost Category.

KeystringUnique name of the Cost Category.MatchOptions[]stringMatch options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is EQUALS and CASE_SENSITIVE. Valid values are: EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE.Values[]stringSpecific value of the Cost Category.

keystringUnique name of the Cost Category.match_optionslist(string)Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is EQUALS and CASE_SENSITIVE. Valid values are: EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE.valueslist(string)Specific value of the Cost Category.

keyStringUnique name of the Cost Category.matchOptionsListMatch options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is EQUALS and CASE_SENSITIVE. Valid values are: EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE.valuesListSpecific value of the Cost Category.

keystringUnique name of the Cost Category.matchOptionsstring[]Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is EQUALS and CASE_SENSITIVE. Valid values are: EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE.valuesstring[]Specific value of the Cost Category.

keystrUnique name of the Cost Category.match_optionsSequence[str]Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is EQUALS and CASE_SENSITIVE. Valid values are: EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE.valuesSequence[str]Specific value of the Cost Category.

keyStringUnique name of the Cost Category.matchOptionsListMatch options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is EQUALS and CASE_SENSITIVE. Valid values are: EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE.valuesListSpecific value of the Cost Category.

AnomalySubscriptionThresholdExpressionAndDimension , AnomalySubscriptionThresholdExpressionAndDimensionArgs Anchor

AnomalySubscriptionThresholdExpressionAndTags , AnomalySubscriptionThresholdExpressionAndTagsArgs Anchor

KeystringKey for the tag.MatchOptionsListMatch options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is EQUALS and CASE_SENSITIVE. Valid values are: EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE.ValuesListSpecific value of the Cost Category.

KeystringKey for the tag.MatchOptions[]stringMatch options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is EQUALS and CASE_SENSITIVE. Valid values are: EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE.Values[]stringSpecific value of the Cost Category.

keystringKey for the tag.match_optionslist(string)Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is EQUALS and CASE_SENSITIVE. Valid values are: EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE.valueslist(string)Specific value of the Cost Category.

keyStringKey for the tag.matchOptionsListMatch options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is EQUALS and CASE_SENSITIVE. Valid values are: EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE.valuesListSpecific value of the Cost Category.

keystringKey for the tag.matchOptionsstring[]Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is EQUALS and CASE_SENSITIVE. Valid values are: EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE.valuesstring[]Specific value of the Cost Category.

keystrKey for the tag.match_optionsSequence[str]Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is EQUALS and CASE_SENSITIVE. Valid values are: EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE.valuesSequence[str]Specific value of the Cost Category.

keyStringKey for the tag.matchOptionsListMatch options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is EQUALS and CASE_SENSITIVE. Valid values are: EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE.valuesListSpecific value of the Cost Category.

AnomalySubscriptionThresholdExpressionCostCategory , AnomalySubscriptionThresholdExpressionCostCategoryArgs Anchor

AnomalySubscriptionThresholdExpressionDimension , AnomalySubscriptionThresholdExpressionDimensionArgs Anchor

AnomalySubscriptionThresholdExpressionNot , AnomalySubscriptionThresholdExpressionNotArgs Anchor

CostCategoryAnomalySubscriptionThresholdExpressionNotCostCategoryConfiguration block for the filter that's based on values. See Cost Category below.DimensionAnomalySubscriptionThresholdExpressionNotDimensionConfiguration block for the specific Dimension to use for.TagsAnomalySubscriptionThresholdExpressionNotTagsA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

CostCategoryAnomalySubscriptionThresholdExpressionNotCostCategoryConfiguration block for the filter that's based on values. See Cost Category below.DimensionAnomalySubscriptionThresholdExpressionNotDimensionConfiguration block for the specific Dimension to use for.TagsAnomalySubscriptionThresholdExpressionNotTagsA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

cost_categoryobjectConfiguration block for the filter that's based on values. See Cost Category below.dimensionobjectConfiguration block for the specific Dimension to use for.tagsobjectA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

costCategoryAnomalySubscriptionThresholdExpressionNotCostCategoryConfiguration block for the filter that's based on values. See Cost Category below.dimensionAnomalySubscriptionThresholdExpressionNotDimensionConfiguration block for the specific Dimension to use for.tagsAnomalySubscriptionThresholdExpressionNotTagsA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

costCategoryAnomalySubscriptionThresholdExpressionNotCostCategoryConfiguration block for the filter that's based on values. See Cost Category below.dimensionAnomalySubscriptionThresholdExpressionNotDimensionConfiguration block for the specific Dimension to use for.tagsAnomalySubscriptionThresholdExpressionNotTagsA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

cost_categoryAnomalySubscriptionThresholdExpressionNotCostCategoryConfiguration block for the filter that's based on values. See Cost Category below.dimensionAnomalySubscriptionThresholdExpressionNotDimensionConfiguration block for the specific Dimension to use for.tagsAnomalySubscriptionThresholdExpressionNotTagsA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

costCategoryProperty MapConfiguration block for the filter that's based on values. See Cost Category below.dimensionProperty MapConfiguration block for the specific Dimension to use for.tagsProperty MapA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

AnomalySubscriptionThresholdExpressionNotCostCategory , AnomalySubscriptionThresholdExpressionNotCostCategoryArgs Anchor

AnomalySubscriptionThresholdExpressionNotDimension , AnomalySubscriptionThresholdExpressionNotDimensionArgs Anchor

AnomalySubscriptionThresholdExpressionNotTags , AnomalySubscriptionThresholdExpressionNotTagsArgs Anchor

AnomalySubscriptionThresholdExpressionOr , AnomalySubscriptionThresholdExpressionOrArgs Anchor

CostCategoryAnomalySubscriptionThresholdExpressionOrCostCategoryConfiguration block for the filter that's based on values. See Cost Category below.DimensionAnomalySubscriptionThresholdExpressionOrDimensionConfiguration block for the specific Dimension to use for.TagsAnomalySubscriptionThresholdExpressionOrTagsA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

CostCategoryAnomalySubscriptionThresholdExpressionOrCostCategoryConfiguration block for the filter that's based on values. See Cost Category below.DimensionAnomalySubscriptionThresholdExpressionOrDimensionConfiguration block for the specific Dimension to use for.TagsAnomalySubscriptionThresholdExpressionOrTagsA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

cost_categoryobjectConfiguration block for the filter that's based on values. See Cost Category below.dimensionobjectConfiguration block for the specific Dimension to use for.tagsobjectA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

costCategoryAnomalySubscriptionThresholdExpressionOrCostCategoryConfiguration block for the filter that's based on values. See Cost Category below.dimensionAnomalySubscriptionThresholdExpressionOrDimensionConfiguration block for the specific Dimension to use for.tagsAnomalySubscriptionThresholdExpressionOrTagsA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

costCategoryAnomalySubscriptionThresholdExpressionOrCostCategoryConfiguration block for the filter that's based on values. See Cost Category below.dimensionAnomalySubscriptionThresholdExpressionOrDimensionConfiguration block for the specific Dimension to use for.tagsAnomalySubscriptionThresholdExpressionOrTagsA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

cost_categoryAnomalySubscriptionThresholdExpressionOrCostCategoryConfiguration block for the filter that's based on values. See Cost Category below.dimensionAnomalySubscriptionThresholdExpressionOrDimensionConfiguration block for the specific Dimension to use for.tagsAnomalySubscriptionThresholdExpressionOrTagsA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

costCategoryProperty MapConfiguration block for the filter that's based on values. See Cost Category below.dimensionProperty MapConfiguration block for the specific Dimension to use for.tagsProperty MapA map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

AnomalySubscriptionThresholdExpressionOrCostCategory , AnomalySubscriptionThresholdExpressionOrCostCategoryArgs Anchor

AnomalySubscriptionThresholdExpressionOrDimension , AnomalySubscriptionThresholdExpressionOrDimensionArgs Anchor

AnomalySubscriptionThresholdExpressionOrTags , AnomalySubscriptionThresholdExpressionOrTagsArgs Anchor

AnomalySubscriptionThresholdExpressionTags , AnomalySubscriptionThresholdExpressionTagsArgs Anchor

Import Anchor

Identity Schema Anchor

Required Anchor

  • arn (String) Amazon Resource Name (ARN) of the Cost Explorer anomaly subscription.

Using pulumi import, import aws.costexplorer.AnomalySubscription using the id. For example:

$ pulumi import aws:costexplorer/anomalySubscription:AnomalySubscription example AnomalySubscriptionARN

Copy

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

Package Details Anchor

Viewing docs for AWS v7.32.0

published on Friday, May 29, 2026 by Pulumi

Schema (JSON)

pulumi/pulumi-aws

v7.32.0 (7.x, latest)v6.83.1 (6.x)v5.43.0 (5.x)

On this page

On this page

  • Copy Page

[Scroll to top](/content/registry/packages/aws/api-docs/costexplorer/anomalysubscription/# "Scroll to top"/index.html)

Try Pulumi Cloud free. Your team will thank you.

Start free trial