1. Packages
  2. AWS
  3. API Docs
  4. costexplorer
  5. AnomalySubscription
AWS v6.77.0 published on Wednesday, Apr 9, 2025 by Pulumi

aws.costexplorer.AnomalySubscription

Explore with Pulumi AI

Provides a CE Anomaly Subscription.

Example Usage

Basic Example

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/v6/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.List;
import java.util.ArrayList;
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

Threshold Expression Example

Using a Percentage Threshold

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/v6/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.List;
import java.util.ArrayList;
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

Using an and Expression

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/v6/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{
				Ands: costexplorer.AnomalySubscriptionThresholdExpressionAndArray{
					&costexplorer.AnomalySubscriptionThresholdExpressionAndArgs{
						Dimension: &costexplorer.AnomalySubscriptionThresholdExpressionAndDimensionArgs{
							Key: pulumi.String("ANOMALY_TOTAL_IMPACT_ABSOLUTE"),
							MatchOptions: pulumi.StringArray{
								pulumi.String("GREATER_THAN_OR_EQUAL"),
							},
							Values: pulumi.StringArray{
								pulumi.String("100"),
							},
						},
					},
					&costexplorer.AnomalySubscriptionThresholdExpressionAndArgs{
						Dimension: &costexplorer.AnomalySubscriptionThresholdExpressionAndDimensionArgs{
							Key: pulumi.String("ANOMALY_TOTAL_IMPACT_PERCENTAGE"),
							MatchOptions: pulumi.StringArray{
								pulumi.String("GREATER_THAN_OR_EQUAL"),
							},
							Values: pulumi.StringArray{
								pulumi.String("50"),
							},
						},
					},
				},
			},
		})
		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
        {
            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.List;
import java.util.ArrayList;
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

SNS Example

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 = pulumi.all([costAnomalyUpdates.arn, costAnomalyUpdates.arn]).apply(([costAnomalyUpdatesArn, costAnomalyUpdatesArn1]) => aws.iam.getPolicyDocumentOutput({
    policyId: "__default_policy_ID",
    statements: [
        {
            sid: "AWSAnomalyDetectionSNSPublishingPermissions",
            actions: ["SNS:Publish"],
            effect: "Allow",
            principals: [{
                type: "Service",
                identifiers: ["costalerts.amazonaws.com"],
            }],
            resources: [costAnomalyUpdatesArn],
        },
        {
            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: [costAnomalyUpdatesArn1],
        },
    ],
}));
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 = pulumi.Output.all(
    costAnomalyUpdatesArn=cost_anomaly_updates.arn,
    costAnomalyUpdatesArn1=cost_anomaly_updates.arn
).apply(lambda resolved_outputs: 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": [%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)],
        },
        {
            "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": [%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)],
        },
    ]))

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/v6/go/aws/costexplorer"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
	"github.com/pulumi/pulumi-aws/sdk/v6/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 := pulumi.All(costAnomalyUpdates.Arn,costAnomalyUpdates.Arn).ApplyT(func(_args []interface{}) (iam.GetPolicyDocumentResult, error) {
costAnomalyUpdatesArn := _args[0].(string)
costAnomalyUpdatesArn1 := _args[1].(string)
return iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{
PolicyId: "__default_policy_ID",
Statements: []iam.GetPolicyDocumentStatement{
{
Sid: "AWSAnomalyDetectionSNSPublishingPermissions",
Actions: []string{
"SNS:Publish",
},
Effect: "Allow",
Principals: []iam.GetPolicyDocumentStatementPrincipal{
{
Type: "Service",
Identifiers: []string{
"costalerts.amazonaws.com",
},
},
},
Resources: interface{}{
costAnomalyUpdatesArn,
},
},
{
Sid: "__default_statement_ID",
Actions: []string{
"SNS:Subscribe",
"SNS:SetTopicAttributes",
"SNS:RemovePermission",
"SNS:Receive",
"SNS:Publish",
"SNS:ListSubscriptionsByTopic",
"SNS:GetTopicAttributes",
"SNS:DeleteTopic",
"SNS:AddPermission",
},
Conditions: []iam.GetPolicyDocumentStatementCondition{
{
Test: "StringEquals",
Variable: "AWS:SourceOwner",
Values: interface{}{
accountId,
},
},
},
Effect: "Allow",
Principals: []iam.GetPolicyDocumentStatementPrincipal{
{
Type: "AWS",
Identifiers: []string{
"*",
},
},
},
Resources: interface{}{
costAnomalyUpdatesArn1,
},
},
},
}, nil))), nil
}).(iam.GetPolicyDocumentResultOutput)
_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.List;
import java.util.ArrayList;
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 = Output.tuple(costAnomalyUpdates.arn(), costAnomalyUpdates.arn()).applyValue(values -> {
            var costAnomalyUpdatesArn = values.t1;
            var costAnomalyUpdatesArn1 = values.t2;
            return 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(costAnomalyUpdatesArn)
                        .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(costAnomalyUpdatesArn1)
                        .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

Create AnomalySubscription Resource

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

Constructor syntax

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.

Parameters

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

Constructor example

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

var 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
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

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

Inputs

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

The AnomalySubscription resource accepts the following input properties:

Frequency This property is required. string
The frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.
MonitorArnLists This property is required. List<string>
A list of cost anomaly monitors.
Subscribers This property is required. List<AnomalySubscriptionSubscriber>
A subscriber configuration. Multiple subscribers can be defined.
AccountId Changes to this property will trigger replacement. string
The unique identifier for the AWS account in which the anomaly subscription ought to be created.
Name Changes to this property will trigger replacement. string
The name for the subscription.
Tags Dictionary<string, string>
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
ThresholdExpression AnomalySubscriptionThresholdExpression
An Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.
Frequency This property is required. string
The frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.
MonitorArnLists This property is required. []string
A list of cost anomaly monitors.
Subscribers This property is required. []AnomalySubscriptionSubscriberArgs
A subscriber configuration. Multiple subscribers can be defined.
AccountId Changes to this property will trigger replacement. string
The unique identifier for the AWS account in which the anomaly subscription ought to be created.
Name Changes to this property will trigger replacement. string
The name for the subscription.
Tags map[string]string
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
ThresholdExpression AnomalySubscriptionThresholdExpressionArgs
An Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.
frequency This property is required. String
The frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.
monitorArnLists This property is required. List<String>
A list of cost anomaly monitors.
subscribers This property is required. List<AnomalySubscriptionSubscriber>
A subscriber configuration. Multiple subscribers can be defined.
accountId Changes to this property will trigger replacement. String
The unique identifier for the AWS account in which the anomaly subscription ought to be created.
name Changes to this property will trigger replacement. String
The name for the subscription.
tags Map<String,String>
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
thresholdExpression AnomalySubscriptionThresholdExpression
An Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.
frequency This property is required. string
The frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.
monitorArnLists This property is required. string[]
A list of cost anomaly monitors.
subscribers This property is required. AnomalySubscriptionSubscriber[]
A subscriber configuration. Multiple subscribers can be defined.
accountId Changes to this property will trigger replacement. string
The unique identifier for the AWS account in which the anomaly subscription ought to be created.
name Changes to this property will trigger replacement. string
The name for the subscription.
tags {[key: string]: string}
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
thresholdExpression AnomalySubscriptionThresholdExpression
An Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.
frequency This property is required. str
The frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.
monitor_arn_lists This property is required. Sequence[str]
A list of cost anomaly monitors.
subscribers This property is required. Sequence[AnomalySubscriptionSubscriberArgs]
A subscriber configuration. Multiple subscribers can be defined.
account_id Changes to this property will trigger replacement. str
The unique identifier for the AWS account in which the anomaly subscription ought to be created.
name Changes to this property will trigger replacement. str
The name for the subscription.
tags Mapping[str, str]
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
threshold_expression AnomalySubscriptionThresholdExpressionArgs
An Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.
frequency This property is required. String
The frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.
monitorArnLists This property is required. List<String>
A list of cost anomaly monitors.
subscribers This property is required. List<Property Map>
A subscriber configuration. Multiple subscribers can be defined.
accountId Changes to this property will trigger replacement. String
The unique identifier for the AWS account in which the anomaly subscription ought to be created.
name Changes to this property will trigger replacement. String
The name for the subscription.
tags Map<String>
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
thresholdExpression Property Map
An Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.

Outputs

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

Arn string
ARN of the anomaly subscription.
Id string
The provider-assigned unique ID for this managed resource.
TagsAll Dictionary<string, string>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

Arn string
ARN of the anomaly subscription.
Id string
The provider-assigned unique ID for this managed resource.
TagsAll map[string]string
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

arn String
ARN of the anomaly subscription.
id String
The provider-assigned unique ID for this managed resource.
tagsAll Map<String,String>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

arn string
ARN of the anomaly subscription.
id string
The 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 default_tags configuration block.

Deprecated: Please use tags instead.

arn str
ARN of the anomaly subscription.
id str
The provider-assigned unique ID for this managed resource.
tags_all Mapping[str, str]
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

arn String
ARN of the anomaly subscription.
id String
The provider-assigned unique ID for this managed resource.
tagsAll Map<String>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

Look up Existing AnomalySubscription Resource

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

public static get(name: string, id: Input<ID>, state?: 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}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
AccountId Changes to this property will trigger replacement. string
The unique identifier for the AWS account in which the anomaly subscription ought to be created.
Arn string
ARN of the anomaly subscription.
Frequency string
The frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.
MonitorArnLists List<string>
A list of cost anomaly monitors.
Name Changes to this property will trigger replacement. string
The name for the subscription.
Subscribers List<AnomalySubscriptionSubscriber>
A subscriber configuration. Multiple subscribers can be defined.
Tags Dictionary<string, string>
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll Dictionary<string, string>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

ThresholdExpression AnomalySubscriptionThresholdExpression
An Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.
AccountId Changes to this property will trigger replacement. string
The unique identifier for the AWS account in which the anomaly subscription ought to be created.
Arn string
ARN of the anomaly subscription.
Frequency string
The frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.
MonitorArnLists []string
A list of cost anomaly monitors.
Name Changes to this property will trigger replacement. string
The name for the subscription.
Subscribers []AnomalySubscriptionSubscriberArgs
A subscriber configuration. Multiple subscribers can be defined.
Tags map[string]string
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll map[string]string
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

ThresholdExpression AnomalySubscriptionThresholdExpressionArgs
An Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.
accountId Changes to this property will trigger replacement. String
The unique identifier for the AWS account in which the anomaly subscription ought to be created.
arn String
ARN of the anomaly subscription.
frequency String
The frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.
monitorArnLists List<String>
A list of cost anomaly monitors.
name Changes to this property will trigger replacement. String
The name for the subscription.
subscribers List<AnomalySubscriptionSubscriber>
A subscriber configuration. Multiple subscribers can be defined.
tags Map<String,String>
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll Map<String,String>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

thresholdExpression AnomalySubscriptionThresholdExpression
An Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.
accountId Changes to this property will trigger replacement. string
The unique identifier for the AWS account in which the anomaly subscription ought to be created.
arn string
ARN of the anomaly subscription.
frequency string
The frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.
monitorArnLists string[]
A list of cost anomaly monitors.
name Changes to this property will trigger replacement. string
The name for the subscription.
subscribers AnomalySubscriptionSubscriber[]
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 default_tags 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 default_tags configuration block.

Deprecated: Please use tags instead.

thresholdExpression AnomalySubscriptionThresholdExpression
An Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.
account_id Changes to this property will trigger replacement. str
The unique identifier for the AWS account in which the anomaly subscription ought to be created.
arn str
ARN of the anomaly subscription.
frequency str
The frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.
monitor_arn_lists Sequence[str]
A list of cost anomaly monitors.
name Changes to this property will trigger replacement. str
The name for the subscription.
subscribers Sequence[AnomalySubscriptionSubscriberArgs]
A subscriber configuration. Multiple subscribers can be defined.
tags Mapping[str, str]
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tags_all Mapping[str, str]
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

threshold_expression AnomalySubscriptionThresholdExpressionArgs
An Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.
accountId Changes to this property will trigger replacement. String
The unique identifier for the AWS account in which the anomaly subscription ought to be created.
arn String
ARN of the anomaly subscription.
frequency String
The frequency that anomaly reports are sent. Valid Values: DAILY | IMMEDIATE | WEEKLY.
monitorArnLists List<String>
A list of cost anomaly monitors.
name Changes to this property will trigger replacement. String
The name for the subscription.
subscribers List<Property Map>
A subscriber configuration. Multiple subscribers can be defined.
tags Map<String>
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll Map<String>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

thresholdExpression Property Map
An Expression object used to specify the anomalies that you want to generate alerts for. See Threshold Expression.

Supporting Types

AnomalySubscriptionSubscriber
, AnomalySubscriptionSubscriberArgs

Address This property is required. string
The 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.
Type This property is required. string
The type of subscription. Valid Values: SNS | EMAIL.
Address This property is required. string
The 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.
Type This property is required. string
The type of subscription. Valid Values: SNS | EMAIL.
address This property is required. String
The 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.
type This property is required. String
The type of subscription. Valid Values: SNS | EMAIL.
address This property is required. string
The 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.
type This property is required. string
The type of subscription. Valid Values: SNS | EMAIL.
address This property is required. str
The 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.
type This property is required. str
The type of subscription. Valid Values: SNS | EMAIL.
address This property is required. String
The 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.
type This property is required. String
The type of subscription. Valid Values: SNS | EMAIL.

AnomalySubscriptionThresholdExpression
, AnomalySubscriptionThresholdExpressionArgs

Ands List<AnomalySubscriptionThresholdExpressionAnd>
Return results that match both Dimension objects.
CostCategory AnomalySubscriptionThresholdExpressionCostCategory
Configuration block for the filter that's based on values. See Cost Category below.
Dimension AnomalySubscriptionThresholdExpressionDimension
Configuration block for the specific Dimension to use for.
Not AnomalySubscriptionThresholdExpressionNot
Return results that do not match the Dimension object.
Ors List<AnomalySubscriptionThresholdExpressionOr>
Return results that match either Dimension object.
Tags AnomalySubscriptionThresholdExpressionTags
Configuration block for the specific Tag to use for. See Tags below.
Ands []AnomalySubscriptionThresholdExpressionAnd
Return results that match both Dimension objects.
CostCategory AnomalySubscriptionThresholdExpressionCostCategory
Configuration block for the filter that's based on values. See Cost Category below.
Dimension AnomalySubscriptionThresholdExpressionDimension
Configuration block for the specific Dimension to use for.
Not AnomalySubscriptionThresholdExpressionNot
Return results that do not match the Dimension object.
Ors []AnomalySubscriptionThresholdExpressionOr
Return results that match either Dimension object.
Tags AnomalySubscriptionThresholdExpressionTags
Configuration block for the specific Tag to use for. See Tags below.
ands List<AnomalySubscriptionThresholdExpressionAnd>
Return results that match both Dimension objects.
costCategory AnomalySubscriptionThresholdExpressionCostCategory
Configuration block for the filter that's based on values. See Cost Category below.
dimension AnomalySubscriptionThresholdExpressionDimension
Configuration block for the specific Dimension to use for.
not AnomalySubscriptionThresholdExpressionNot
Return results that do not match the Dimension object.
ors List<AnomalySubscriptionThresholdExpressionOr>
Return results that match either Dimension object.
tags AnomalySubscriptionThresholdExpressionTags
Configuration block for the specific Tag to use for. See Tags below.
ands AnomalySubscriptionThresholdExpressionAnd[]
Return results that match both Dimension objects.
costCategory AnomalySubscriptionThresholdExpressionCostCategory
Configuration block for the filter that's based on values. See Cost Category below.
dimension AnomalySubscriptionThresholdExpressionDimension
Configuration block for the specific Dimension to use for.
not AnomalySubscriptionThresholdExpressionNot
Return results that do not match the Dimension object.
ors AnomalySubscriptionThresholdExpressionOr[]
Return results that match either Dimension object.
tags AnomalySubscriptionThresholdExpressionTags
Configuration block for the specific Tag to use for. See Tags below.
ands Sequence[AnomalySubscriptionThresholdExpressionAnd]
Return results that match both Dimension objects.
cost_category AnomalySubscriptionThresholdExpressionCostCategory
Configuration block for the filter that's based on values. See Cost Category below.
dimension AnomalySubscriptionThresholdExpressionDimension
Configuration block for the specific Dimension to use for.
not_ AnomalySubscriptionThresholdExpressionNot
Return results that do not match the Dimension object.
ors Sequence[AnomalySubscriptionThresholdExpressionOr]
Return results that match either Dimension object.
tags AnomalySubscriptionThresholdExpressionTags
Configuration block for the specific Tag to use for. See Tags below.
ands List<Property Map>
Return results that match both Dimension objects.
costCategory Property Map
Configuration block for the filter that's based on values. See Cost Category below.
dimension Property Map
Configuration block for the specific Dimension to use for.
not Property Map
Return results that do not match the Dimension object.
ors List<Property Map>
Return results that match either Dimension object.
tags Property Map
Configuration block for the specific Tag to use for. See Tags below.

AnomalySubscriptionThresholdExpressionAnd
, AnomalySubscriptionThresholdExpressionAndArgs

CostCategory AnomalySubscriptionThresholdExpressionAndCostCategory
Configuration block for the filter that's based on values. See Cost Category below.
Dimension AnomalySubscriptionThresholdExpressionAndDimension
Configuration block for the specific Dimension to use for.
Tags AnomalySubscriptionThresholdExpressionAndTags
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
CostCategory AnomalySubscriptionThresholdExpressionAndCostCategory
Configuration block for the filter that's based on values. See Cost Category below.
Dimension AnomalySubscriptionThresholdExpressionAndDimension
Configuration block for the specific Dimension to use for.
Tags AnomalySubscriptionThresholdExpressionAndTags
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
costCategory AnomalySubscriptionThresholdExpressionAndCostCategory
Configuration block for the filter that's based on values. See Cost Category below.
dimension AnomalySubscriptionThresholdExpressionAndDimension
Configuration block for the specific Dimension to use for.
tags AnomalySubscriptionThresholdExpressionAndTags
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
costCategory AnomalySubscriptionThresholdExpressionAndCostCategory
Configuration block for the filter that's based on values. See Cost Category below.
dimension AnomalySubscriptionThresholdExpressionAndDimension
Configuration block for the specific Dimension to use for.
tags AnomalySubscriptionThresholdExpressionAndTags
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
cost_category AnomalySubscriptionThresholdExpressionAndCostCategory
Configuration block for the filter that's based on values. See Cost Category below.
dimension AnomalySubscriptionThresholdExpressionAndDimension
Configuration block for the specific Dimension to use for.
tags AnomalySubscriptionThresholdExpressionAndTags
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
costCategory Property Map
Configuration block for the filter that's based on values. See Cost Category below.
dimension Property Map
Configuration block for the specific Dimension to use for.
tags Property Map
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

AnomalySubscriptionThresholdExpressionAndCostCategory
, AnomalySubscriptionThresholdExpressionAndCostCategoryArgs

Key string
Unique name of the Cost Category.
MatchOptions List<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.
Values List<string>
Specific value of the Cost Category.
Key string
Unique name of the Cost Category.
MatchOptions []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.
Values []string
Specific value of the Cost Category.
key String
Unique name of the Cost Category.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.
key string
Unique name of the Cost Category.
matchOptions 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.
values string[]
Specific value of the Cost Category.
key str
Unique name of the Cost Category.
match_options Sequence[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.
values Sequence[str]
Specific value of the Cost Category.
key String
Unique name of the Cost Category.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.

AnomalySubscriptionThresholdExpressionAndDimension
, AnomalySubscriptionThresholdExpressionAndDimensionArgs

Key string
Unique name of the Cost Category.
MatchOptions List<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.
Values List<string>
Specific value of the Cost Category.
Key string
Unique name of the Cost Category.
MatchOptions []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.
Values []string
Specific value of the Cost Category.
key String
Unique name of the Cost Category.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.
key string
Unique name of the Cost Category.
matchOptions 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.
values string[]
Specific value of the Cost Category.
key str
Unique name of the Cost Category.
match_options Sequence[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.
values Sequence[str]
Specific value of the Cost Category.
key String
Unique name of the Cost Category.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.

AnomalySubscriptionThresholdExpressionAndTags
, AnomalySubscriptionThresholdExpressionAndTagsArgs

Key string
Key for the tag.
MatchOptions List<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.
Values List<string>
Specific value of the Cost Category.
Key string
Key for the tag.
MatchOptions []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.
Values []string
Specific value of the Cost Category.
key String
Key for the tag.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.
key string
Key for the tag.
matchOptions 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.
values string[]
Specific value of the Cost Category.
key str
Key for the tag.
match_options Sequence[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.
values Sequence[str]
Specific value of the Cost Category.
key String
Key for the tag.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.

AnomalySubscriptionThresholdExpressionCostCategory
, AnomalySubscriptionThresholdExpressionCostCategoryArgs

Key string
Unique name of the Cost Category.
MatchOptions List<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.
Values List<string>
Specific value of the Cost Category.
Key string
Unique name of the Cost Category.
MatchOptions []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.
Values []string
Specific value of the Cost Category.
key String
Unique name of the Cost Category.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.
key string
Unique name of the Cost Category.
matchOptions 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.
values string[]
Specific value of the Cost Category.
key str
Unique name of the Cost Category.
match_options Sequence[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.
values Sequence[str]
Specific value of the Cost Category.
key String
Unique name of the Cost Category.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.

AnomalySubscriptionThresholdExpressionDimension
, AnomalySubscriptionThresholdExpressionDimensionArgs

Key string
Unique name of the Cost Category.
MatchOptions List<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.
Values List<string>
Specific value of the Cost Category.
Key string
Unique name of the Cost Category.
MatchOptions []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.
Values []string
Specific value of the Cost Category.
key String
Unique name of the Cost Category.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.
key string
Unique name of the Cost Category.
matchOptions 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.
values string[]
Specific value of the Cost Category.
key str
Unique name of the Cost Category.
match_options Sequence[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.
values Sequence[str]
Specific value of the Cost Category.
key String
Unique name of the Cost Category.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.

AnomalySubscriptionThresholdExpressionNot
, AnomalySubscriptionThresholdExpressionNotArgs

CostCategory AnomalySubscriptionThresholdExpressionNotCostCategory
Configuration block for the filter that's based on values. See Cost Category below.
Dimension AnomalySubscriptionThresholdExpressionNotDimension
Configuration block for the specific Dimension to use for.
Tags AnomalySubscriptionThresholdExpressionNotTags
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
CostCategory AnomalySubscriptionThresholdExpressionNotCostCategory
Configuration block for the filter that's based on values. See Cost Category below.
Dimension AnomalySubscriptionThresholdExpressionNotDimension
Configuration block for the specific Dimension to use for.
Tags AnomalySubscriptionThresholdExpressionNotTags
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
costCategory AnomalySubscriptionThresholdExpressionNotCostCategory
Configuration block for the filter that's based on values. See Cost Category below.
dimension AnomalySubscriptionThresholdExpressionNotDimension
Configuration block for the specific Dimension to use for.
tags AnomalySubscriptionThresholdExpressionNotTags
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
costCategory AnomalySubscriptionThresholdExpressionNotCostCategory
Configuration block for the filter that's based on values. See Cost Category below.
dimension AnomalySubscriptionThresholdExpressionNotDimension
Configuration block for the specific Dimension to use for.
tags AnomalySubscriptionThresholdExpressionNotTags
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
cost_category AnomalySubscriptionThresholdExpressionNotCostCategory
Configuration block for the filter that's based on values. See Cost Category below.
dimension AnomalySubscriptionThresholdExpressionNotDimension
Configuration block for the specific Dimension to use for.
tags AnomalySubscriptionThresholdExpressionNotTags
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
costCategory Property Map
Configuration block for the filter that's based on values. See Cost Category below.
dimension Property Map
Configuration block for the specific Dimension to use for.
tags Property Map
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

AnomalySubscriptionThresholdExpressionNotCostCategory
, AnomalySubscriptionThresholdExpressionNotCostCategoryArgs

Key string
Unique name of the Cost Category.
MatchOptions List<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.
Values List<string>
Specific value of the Cost Category.
Key string
Unique name of the Cost Category.
MatchOptions []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.
Values []string
Specific value of the Cost Category.
key String
Unique name of the Cost Category.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.
key string
Unique name of the Cost Category.
matchOptions 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.
values string[]
Specific value of the Cost Category.
key str
Unique name of the Cost Category.
match_options Sequence[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.
values Sequence[str]
Specific value of the Cost Category.
key String
Unique name of the Cost Category.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.

AnomalySubscriptionThresholdExpressionNotDimension
, AnomalySubscriptionThresholdExpressionNotDimensionArgs

Key string
Unique name of the Cost Category.
MatchOptions List<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.
Values List<string>
Specific value of the Cost Category.
Key string
Unique name of the Cost Category.
MatchOptions []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.
Values []string
Specific value of the Cost Category.
key String
Unique name of the Cost Category.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.
key string
Unique name of the Cost Category.
matchOptions 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.
values string[]
Specific value of the Cost Category.
key str
Unique name of the Cost Category.
match_options Sequence[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.
values Sequence[str]
Specific value of the Cost Category.
key String
Unique name of the Cost Category.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.

AnomalySubscriptionThresholdExpressionNotTags
, AnomalySubscriptionThresholdExpressionNotTagsArgs

Key string
Key for the tag.
MatchOptions List<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.
Values List<string>
Specific value of the Cost Category.
Key string
Key for the tag.
MatchOptions []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.
Values []string
Specific value of the Cost Category.
key String
Key for the tag.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.
key string
Key for the tag.
matchOptions 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.
values string[]
Specific value of the Cost Category.
key str
Key for the tag.
match_options Sequence[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.
values Sequence[str]
Specific value of the Cost Category.
key String
Key for the tag.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.

AnomalySubscriptionThresholdExpressionOr
, AnomalySubscriptionThresholdExpressionOrArgs

CostCategory AnomalySubscriptionThresholdExpressionOrCostCategory
Configuration block for the filter that's based on values. See Cost Category below.
Dimension AnomalySubscriptionThresholdExpressionOrDimension
Configuration block for the specific Dimension to use for.
Tags AnomalySubscriptionThresholdExpressionOrTags
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
CostCategory AnomalySubscriptionThresholdExpressionOrCostCategory
Configuration block for the filter that's based on values. See Cost Category below.
Dimension AnomalySubscriptionThresholdExpressionOrDimension
Configuration block for the specific Dimension to use for.
Tags AnomalySubscriptionThresholdExpressionOrTags
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
costCategory AnomalySubscriptionThresholdExpressionOrCostCategory
Configuration block for the filter that's based on values. See Cost Category below.
dimension AnomalySubscriptionThresholdExpressionOrDimension
Configuration block for the specific Dimension to use for.
tags AnomalySubscriptionThresholdExpressionOrTags
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
costCategory AnomalySubscriptionThresholdExpressionOrCostCategory
Configuration block for the filter that's based on values. See Cost Category below.
dimension AnomalySubscriptionThresholdExpressionOrDimension
Configuration block for the specific Dimension to use for.
tags AnomalySubscriptionThresholdExpressionOrTags
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
cost_category AnomalySubscriptionThresholdExpressionOrCostCategory
Configuration block for the filter that's based on values. See Cost Category below.
dimension AnomalySubscriptionThresholdExpressionOrDimension
Configuration block for the specific Dimension to use for.
tags AnomalySubscriptionThresholdExpressionOrTags
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
costCategory Property Map
Configuration block for the filter that's based on values. See Cost Category below.
dimension Property Map
Configuration block for the specific Dimension to use for.
tags Property Map
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

AnomalySubscriptionThresholdExpressionOrCostCategory
, AnomalySubscriptionThresholdExpressionOrCostCategoryArgs

Key string
Unique name of the Cost Category.
MatchOptions List<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.
Values List<string>
Specific value of the Cost Category.
Key string
Unique name of the Cost Category.
MatchOptions []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.
Values []string
Specific value of the Cost Category.
key String
Unique name of the Cost Category.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.
key string
Unique name of the Cost Category.
matchOptions 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.
values string[]
Specific value of the Cost Category.
key str
Unique name of the Cost Category.
match_options Sequence[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.
values Sequence[str]
Specific value of the Cost Category.
key String
Unique name of the Cost Category.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.

AnomalySubscriptionThresholdExpressionOrDimension
, AnomalySubscriptionThresholdExpressionOrDimensionArgs

Key string
Unique name of the Cost Category.
MatchOptions List<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.
Values List<string>
Specific value of the Cost Category.
Key string
Unique name of the Cost Category.
MatchOptions []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.
Values []string
Specific value of the Cost Category.
key String
Unique name of the Cost Category.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.
key string
Unique name of the Cost Category.
matchOptions 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.
values string[]
Specific value of the Cost Category.
key str
Unique name of the Cost Category.
match_options Sequence[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.
values Sequence[str]
Specific value of the Cost Category.
key String
Unique name of the Cost Category.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.

AnomalySubscriptionThresholdExpressionOrTags
, AnomalySubscriptionThresholdExpressionOrTagsArgs

Key string
Key for the tag.
MatchOptions List<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.
Values List<string>
Specific value of the Cost Category.
Key string
Key for the tag.
MatchOptions []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.
Values []string
Specific value of the Cost Category.
key String
Key for the tag.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.
key string
Key for the tag.
matchOptions 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.
values string[]
Specific value of the Cost Category.
key str
Key for the tag.
match_options Sequence[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.
values Sequence[str]
Specific value of the Cost Category.
key String
Key for the tag.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.

AnomalySubscriptionThresholdExpressionTags
, AnomalySubscriptionThresholdExpressionTagsArgs

Key string
Key for the tag.
MatchOptions List<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.
Values List<string>
Specific value of the Cost Category.
Key string
Key for the tag.
MatchOptions []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.
Values []string
Specific value of the Cost Category.
key String
Key for the tag.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.
key string
Key for the tag.
matchOptions 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.
values string[]
Specific value of the Cost Category.
key str
Key for the tag.
match_options Sequence[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.
values Sequence[str]
Specific value of the Cost Category.
key String
Key for the tag.
matchOptions List<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.
values List<String>
Specific value of the Cost Category.

Import

Using pulumi import, import aws_ce_anomaly_subscription 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

Repository
AWS Classic pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.