We recommend new projects start with resources from the AWS provider.
aws-native.ce.AnomalySubscription
Explore with Pulumi AI
We recommend new projects start with resources from the AWS provider.
AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. Create subscription to be notified
Example Usage
Example
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;
return await Deployment.RunAsync(() => 
{
    var anomalySubscription = new AwsNative.Ce.AnomalySubscription("anomalySubscription", new()
    {
        SubscriptionName = "SubscriptionName",
        ThresholdExpression = "{ \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"Values\": [ \"100\" ], \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ] } }",
        MonitorArnList = new[] {},
        Subscribers = new[]
        {
            new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs
            {
                Address = "abc@def.com",
                Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,
            },
        },
        Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,
    });
});
package main
import (
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ce.NewAnomalySubscription(ctx, "anomalySubscription", &ce.AnomalySubscriptionArgs{
			SubscriptionName:    pulumi.String("SubscriptionName"),
			ThresholdExpression: pulumi.String("{ \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"Values\": [ \"100\" ], \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ] } }"),
			MonitorArnList:      pulumi.StringArray{},
			Subscribers: ce.AnomalySubscriptionSubscriberArray{
				&ce.AnomalySubscriptionSubscriberArgs{
					Address: pulumi.String("abc@def.com"),
					Type:    ce.AnomalySubscriptionSubscriberTypeEmail,
				},
			},
			Frequency: ce.AnomalySubscriptionFrequencyDaily,
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";
const anomalySubscription = new aws_native.ce.AnomalySubscription("anomalySubscription", {
    subscriptionName: "SubscriptionName",
    thresholdExpression: "{ \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"Values\": [ \"100\" ], \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ] } }",
    monitorArnList: [],
    subscribers: [{
        address: "abc@def.com",
        type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,
    }],
    frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,
});
import pulumi
import pulumi_aws_native as aws_native
anomaly_subscription = aws_native.ce.AnomalySubscription("anomalySubscription",
    subscription_name="SubscriptionName",
    threshold_expression="{ \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"Values\": [ \"100\" ], \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ] } }",
    monitor_arn_list=[],
    subscribers=[{
        "address": "abc@def.com",
        "type": aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,
    }],
    frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY)
Coming soon!
Example
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;
return await Deployment.RunAsync(() => 
{
    var anomalySubscription = new AwsNative.Ce.AnomalySubscription("anomalySubscription", new()
    {
        SubscriptionName = "Subscription 1",
        ThresholdExpression = "{ \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"100\" ] } }",
        Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,
        MonitorArnList = new[] {},
        Subscribers = new[]
        {
            new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs
            {
                Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,
                Address = "abc@def.com",
            },
        },
    });
});
package main
import (
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ce.NewAnomalySubscription(ctx, "anomalySubscription", &ce.AnomalySubscriptionArgs{
			SubscriptionName:    pulumi.String("Subscription 1"),
			ThresholdExpression: pulumi.String("{ \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"100\" ] } }"),
			Frequency:           ce.AnomalySubscriptionFrequencyDaily,
			MonitorArnList:      pulumi.StringArray{},
			Subscribers: ce.AnomalySubscriptionSubscriberArray{
				&ce.AnomalySubscriptionSubscriberArgs{
					Type:    ce.AnomalySubscriptionSubscriberTypeEmail,
					Address: pulumi.String("abc@def.com"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";
const anomalySubscription = new aws_native.ce.AnomalySubscription("anomalySubscription", {
    subscriptionName: "Subscription 1",
    thresholdExpression: "{ \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"100\" ] } }",
    frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,
    monitorArnList: [],
    subscribers: [{
        type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,
        address: "abc@def.com",
    }],
});
import pulumi
import pulumi_aws_native as aws_native
anomaly_subscription = aws_native.ce.AnomalySubscription("anomalySubscription",
    subscription_name="Subscription 1",
    threshold_expression="{ \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"100\" ] } }",
    frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY,
    monitor_arn_list=[],
    subscribers=[{
        "type": aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,
        "address": "abc@def.com",
    }])
Coming soon!
Example
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;
return await Deployment.RunAsync(() => 
{
    var anomalySubscription = new AwsNative.Ce.AnomalySubscription("anomalySubscription", new()
    {
        SubscriptionName = "SubscriptionName",
        ThresholdExpression = "{ \"And\": [ { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"100\" ] } }, { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"200\" ] } } ] }",
        MonitorArnList = new[] {},
        Subscribers = new[]
        {
            new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs
            {
                Address = "abc@def.com",
                Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,
            },
        },
        Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,
    });
});
package main
import (
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ce.NewAnomalySubscription(ctx, "anomalySubscription", &ce.AnomalySubscriptionArgs{
			SubscriptionName:    pulumi.String("SubscriptionName"),
			ThresholdExpression: pulumi.String("{ \"And\": [ { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"100\" ] } }, { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"200\" ] } } ] }"),
			MonitorArnList:      pulumi.StringArray{},
			Subscribers: ce.AnomalySubscriptionSubscriberArray{
				&ce.AnomalySubscriptionSubscriberArgs{
					Address: pulumi.String("abc@def.com"),
					Type:    ce.AnomalySubscriptionSubscriberTypeEmail,
				},
			},
			Frequency: ce.AnomalySubscriptionFrequencyDaily,
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";
const anomalySubscription = new aws_native.ce.AnomalySubscription("anomalySubscription", {
    subscriptionName: "SubscriptionName",
    thresholdExpression: "{ \"And\": [ { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"100\" ] } }, { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"200\" ] } } ] }",
    monitorArnList: [],
    subscribers: [{
        address: "abc@def.com",
        type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,
    }],
    frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,
});
import pulumi
import pulumi_aws_native as aws_native
anomaly_subscription = aws_native.ce.AnomalySubscription("anomalySubscription",
    subscription_name="SubscriptionName",
    threshold_expression="{ \"And\": [ { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"100\" ] } }, { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"200\" ] } } ] }",
    monitor_arn_list=[],
    subscribers=[{
        "address": "abc@def.com",
        "type": aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,
    }],
    frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY)
Coming soon!
Example
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;
return await Deployment.RunAsync(() => 
{
    var anomalySubscription = new AwsNative.Ce.AnomalySubscription("anomalySubscription", new()
    {
        SubscriptionName = "SubscriptionName",
        ThresholdExpression = "{ \"And\": [ { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"100\" ] } }, { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"200\" ] } } ] }",
        Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,
        MonitorArnList = new[] {},
        Subscribers = new[]
        {
            new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs
            {
                Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,
                Address = "abc@def.com",
            },
        },
    });
});
package main
import (
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ce.NewAnomalySubscription(ctx, "anomalySubscription", &ce.AnomalySubscriptionArgs{
			SubscriptionName:    pulumi.String("SubscriptionName"),
			ThresholdExpression: pulumi.String("{ \"And\": [ { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"100\" ] } }, { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"200\" ] } } ] }"),
			Frequency:           ce.AnomalySubscriptionFrequencyDaily,
			MonitorArnList:      pulumi.StringArray{},
			Subscribers: ce.AnomalySubscriptionSubscriberArray{
				&ce.AnomalySubscriptionSubscriberArgs{
					Type:    ce.AnomalySubscriptionSubscriberTypeEmail,
					Address: pulumi.String("abc@def.com"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";
const anomalySubscription = new aws_native.ce.AnomalySubscription("anomalySubscription", {
    subscriptionName: "SubscriptionName",
    thresholdExpression: "{ \"And\": [ { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"100\" ] } }, { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"200\" ] } } ] }",
    frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,
    monitorArnList: [],
    subscribers: [{
        type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,
        address: "abc@def.com",
    }],
});
import pulumi
import pulumi_aws_native as aws_native
anomaly_subscription = aws_native.ce.AnomalySubscription("anomalySubscription",
    subscription_name="SubscriptionName",
    threshold_expression="{ \"And\": [ { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"100\" ] } }, { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"200\" ] } } ] }",
    frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY,
    monitor_arn_list=[],
    subscribers=[{
        "type": aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,
        "address": "abc@def.com",
    }])
Coming soon!
Example
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;
return await Deployment.RunAsync(() => 
{
    var anomalySubscription = new AwsNative.Ce.AnomalySubscription("anomalySubscription", new()
    {
        SubscriptionName = "SubscriptionName",
        ThresholdExpression = "{ \"Or\": [ { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"100\" ] } }, { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"200\" ] } } ] }",
        MonitorArnList = new[] {},
        Subscribers = new[]
        {
            new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs
            {
                Address = "abc@def.com",
                Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,
            },
        },
        Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,
    });
});
package main
import (
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ce.NewAnomalySubscription(ctx, "anomalySubscription", &ce.AnomalySubscriptionArgs{
			SubscriptionName:    pulumi.String("SubscriptionName"),
			ThresholdExpression: pulumi.String("{ \"Or\": [ { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"100\" ] } }, { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"200\" ] } } ] }"),
			MonitorArnList:      pulumi.StringArray{},
			Subscribers: ce.AnomalySubscriptionSubscriberArray{
				&ce.AnomalySubscriptionSubscriberArgs{
					Address: pulumi.String("abc@def.com"),
					Type:    ce.AnomalySubscriptionSubscriberTypeEmail,
				},
			},
			Frequency: ce.AnomalySubscriptionFrequencyDaily,
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";
const anomalySubscription = new aws_native.ce.AnomalySubscription("anomalySubscription", {
    subscriptionName: "SubscriptionName",
    thresholdExpression: "{ \"Or\": [ { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"100\" ] } }, { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"200\" ] } } ] }",
    monitorArnList: [],
    subscribers: [{
        address: "abc@def.com",
        type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,
    }],
    frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,
});
import pulumi
import pulumi_aws_native as aws_native
anomaly_subscription = aws_native.ce.AnomalySubscription("anomalySubscription",
    subscription_name="SubscriptionName",
    threshold_expression="{ \"Or\": [ { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"100\" ] } }, { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"200\" ] } } ] }",
    monitor_arn_list=[],
    subscribers=[{
        "address": "abc@def.com",
        "type": aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,
    }],
    frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY)
Coming soon!
Example
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;
return await Deployment.RunAsync(() => 
{
    var anomalySubscription = new AwsNative.Ce.AnomalySubscription("anomalySubscription", new()
    {
        SubscriptionName = "SubscriptionName",
        ThresholdExpression = "{ \"Or\": [ { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"100\" ] } }, { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"200\" ] } } ] }",
        Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,
        MonitorArnList = new[] {},
        Subscribers = new[]
        {
            new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs
            {
                Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,
                Address = "abc@def.com",
            },
        },
    });
});
package main
import (
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ce.NewAnomalySubscription(ctx, "anomalySubscription", &ce.AnomalySubscriptionArgs{
			SubscriptionName:    pulumi.String("SubscriptionName"),
			ThresholdExpression: pulumi.String("{ \"Or\": [ { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"100\" ] } }, { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"200\" ] } } ] }"),
			Frequency:           ce.AnomalySubscriptionFrequencyDaily,
			MonitorArnList:      pulumi.StringArray{},
			Subscribers: ce.AnomalySubscriptionSubscriberArray{
				&ce.AnomalySubscriptionSubscriberArgs{
					Type:    ce.AnomalySubscriptionSubscriberTypeEmail,
					Address: pulumi.String("abc@def.com"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";
const anomalySubscription = new aws_native.ce.AnomalySubscription("anomalySubscription", {
    subscriptionName: "SubscriptionName",
    thresholdExpression: "{ \"Or\": [ { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"100\" ] } }, { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"200\" ] } } ] }",
    frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,
    monitorArnList: [],
    subscribers: [{
        type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,
        address: "abc@def.com",
    }],
});
import pulumi
import pulumi_aws_native as aws_native
anomaly_subscription = aws_native.ce.AnomalySubscription("anomalySubscription",
    subscription_name="SubscriptionName",
    threshold_expression="{ \"Or\": [ { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_PERCENTAGE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"100\" ] } }, { \"Dimensions\": { \"Key\": \"ANOMALY_TOTAL_IMPACT_ABSOLUTE\", \"MatchOptions\": [ \"GREATER_THAN_OR_EQUAL\" ], \"Values\": [ \"200\" ] } } ] }",
    frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY,
    monitor_arn_list=[],
    subscribers=[{
        "type": aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,
        "address": "abc@def.com",
    }])
Coming soon!
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[AnomalySubscriptionFrequency] = None,
                        monitor_arn_list: Optional[Sequence[str]] = None,
                        subscribers: Optional[Sequence[AnomalySubscriptionSubscriberArgs]] = None,
                        resource_tags: Optional[Sequence[AnomalySubscriptionResourceTagArgs]] = None,
                        subscription_name: Optional[str] = None,
                        threshold: Optional[float] = None,
                        threshold_expression: Optional[str] = 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-native:ce:AnomalySubscription
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args AnomalySubscriptionArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args 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 string
- The unique name of the resource.
- args AnomalySubscriptionArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args AnomalySubscriptionArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args AnomalySubscriptionArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
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
Pulumi.Aws Native. Ce. Anomaly Subscription Frequency 
- The frequency at which anomaly reports are sent over email.
- MonitorArn List<string>List 
- A list of cost anomaly monitors.
- Subscribers
List<Pulumi.Aws Native. Ce. Inputs. Anomaly Subscription Subscriber> 
- A list of subscriber
- 
List<Pulumi.Aws Native. Ce. Inputs. Anomaly Subscription Resource Tag> 
- Tags to assign to subscription.
- SubscriptionName string
- The name of the subscription.
- Threshold double
- The dollar value that triggers a notification if the threshold is exceeded.
- ThresholdExpression string
- An Expression object in JSON String format used to specify the anomalies that you want to generate alerts for.
- Frequency
AnomalySubscription Frequency 
- The frequency at which anomaly reports are sent over email.
- MonitorArn []stringList 
- A list of cost anomaly monitors.
- Subscribers
[]AnomalySubscription Subscriber Args 
- A list of subscriber
- 
[]AnomalySubscription Resource Tag Args 
- Tags to assign to subscription.
- SubscriptionName string
- The name of the subscription.
- Threshold float64
- The dollar value that triggers a notification if the threshold is exceeded.
- ThresholdExpression string
- An Expression object in JSON String format used to specify the anomalies that you want to generate alerts for.
- frequency
AnomalySubscription Frequency 
- The frequency at which anomaly reports are sent over email.
- monitorArn List<String>List 
- A list of cost anomaly monitors.
- subscribers
List<AnomalySubscription Subscriber> 
- A list of subscriber
- 
List<AnomalySubscription Resour Tag> 
- Tags to assign to subscription.
- subscriptionName String
- The name of the subscription.
- threshold Double
- The dollar value that triggers a notification if the threshold is exceeded.
- thresholdExpression String
- An Expression object in JSON String format used to specify the anomalies that you want to generate alerts for.
- frequency
AnomalySubscription Frequency 
- The frequency at which anomaly reports are sent over email.
- monitorArn string[]List 
- A list of cost anomaly monitors.
- subscribers
AnomalySubscription Subscriber[] 
- A list of subscriber
- 
AnomalySubscription Resource Tag[] 
- Tags to assign to subscription.
- subscriptionName string
- The name of the subscription.
- threshold number
- The dollar value that triggers a notification if the threshold is exceeded.
- thresholdExpression string
- An Expression object in JSON String format used to specify the anomalies that you want to generate alerts for.
- frequency
AnomalySubscription Frequency 
- The frequency at which anomaly reports are sent over email.
- monitor_arn_ Sequence[str]list 
- A list of cost anomaly monitors.
- subscribers
Sequence[AnomalySubscription Subscriber Args] 
- A list of subscriber
- 
Sequence[AnomalySubscription Resource Tag Args] 
- Tags to assign to subscription.
- subscription_name str
- The name of the subscription.
- threshold float
- The dollar value that triggers a notification if the threshold is exceeded.
- threshold_expression str
- An Expression object in JSON String format used to specify the anomalies that you want to generate alerts for.
- frequency "DAILY" | "IMMEDIATE" | "WEEKLY"
- The frequency at which anomaly reports are sent over email.
- monitorArn List<String>List 
- A list of cost anomaly monitors.
- subscribers List<Property Map>
- A list of subscriber
- List<Property Map>
- Tags to assign to subscription.
- subscriptionName String
- The name of the subscription.
- threshold Number
- The dollar value that triggers a notification if the threshold is exceeded.
- thresholdExpression String
- An Expression object in JSON String format used to specify the anomalies that you want to generate alerts for.
Outputs
All input properties are implicitly available as output properties. Additionally, the AnomalySubscription resource produces the following output properties:
- AccountId string
- The accountId
- Id string
- The provider-assigned unique ID for this managed resource.
- SubscriptionArn string
- The AnomalySubscriptionAmazon Resource Name (ARN).
- AccountId string
- The accountId
- Id string
- The provider-assigned unique ID for this managed resource.
- SubscriptionArn string
- The AnomalySubscriptionAmazon Resource Name (ARN).
- accountId String
- The accountId
- id String
- The provider-assigned unique ID for this managed resource.
- subscriptionArn String
- The AnomalySubscriptionAmazon Resource Name (ARN).
- accountId string
- The accountId
- id string
- The provider-assigned unique ID for this managed resource.
- subscriptionArn string
- The AnomalySubscriptionAmazon Resource Name (ARN).
- account_id str
- The accountId
- id str
- The provider-assigned unique ID for this managed resource.
- subscription_arn str
- The AnomalySubscriptionAmazon Resource Name (ARN).
- accountId String
- The accountId
- id String
- The provider-assigned unique ID for this managed resource.
- subscriptionArn String
- The AnomalySubscriptionAmazon Resource Name (ARN).
Supporting Types
AnomalySubscriptionFrequency, AnomalySubscriptionFrequencyArgs      
- Daily
- DAILY
- Immediate
- IMMEDIATE
- Weekly
- WEEKLY
- AnomalySubscription Frequency Daily 
- DAILY
- AnomalySubscription Frequency Immediate 
- IMMEDIATE
- AnomalySubscription Frequency Weekly 
- WEEKLY
- Daily
- DAILY
- Immediate
- IMMEDIATE
- Weekly
- WEEKLY
- Daily
- DAILY
- Immediate
- IMMEDIATE
- Weekly
- WEEKLY
- DAILY
- DAILY
- IMMEDIATE
- IMMEDIATE
- WEEKLY
- WEEKLY
- "DAILY"
- DAILY
- "IMMEDIATE"
- IMMEDIATE
- "WEEKLY"
- WEEKLY
AnomalySubscriptionResourceTag, AnomalySubscriptionResourceTagArgs        
AnomalySubscriptionSubscriber, AnomalySubscriptionSubscriberArgs      
- Address string
- The email address or SNS Topic Amazon Resource Name (ARN), depending on the Type.
- Type
Pulumi.Aws Native. Ce. Anomaly Subscription Subscriber Type 
- The notification delivery channel.
- Status
Pulumi.Aws Native. Ce. Anomaly Subscription Subscriber Status 
- Indicates if the subscriber accepts the notifications.
- Address string
- The email address or SNS Topic Amazon Resource Name (ARN), depending on the Type.
- Type
AnomalySubscription Subscriber Type 
- The notification delivery channel.
- Status
AnomalySubscription Subscriber Status 
- Indicates if the subscriber accepts the notifications.
- address String
- The email address or SNS Topic Amazon Resource Name (ARN), depending on the Type.
- type
AnomalySubscription Subscriber Type 
- The notification delivery channel.
- status
AnomalySubscription Subscriber Status 
- Indicates if the subscriber accepts the notifications.
- address string
- The email address or SNS Topic Amazon Resource Name (ARN), depending on the Type.
- type
AnomalySubscription Subscriber Type 
- The notification delivery channel.
- status
AnomalySubscription Subscriber Status 
- Indicates if the subscriber accepts the notifications.
- address str
- The email address or SNS Topic Amazon Resource Name (ARN), depending on the Type.
- type
AnomalySubscription Subscriber Type 
- The notification delivery channel.
- status
AnomalySubscription Subscriber Status 
- Indicates if the subscriber accepts the notifications.
- address String
- The email address or SNS Topic Amazon Resource Name (ARN), depending on the Type.
- type "EMAIL" | "SNS"
- The notification delivery channel.
- status "CONFIRMED" | "DECLINED"
- Indicates if the subscriber accepts the notifications.
AnomalySubscriptionSubscriberStatus, AnomalySubscriptionSubscriberStatusArgs        
- Confirmed
- CONFIRMED
- Declined
- DECLINED
- AnomalySubscription Subscriber Status Confirmed 
- CONFIRMED
- AnomalySubscription Subscriber Status Declined 
- DECLINED
- Confirmed
- CONFIRMED
- Declined
- DECLINED
- Confirmed
- CONFIRMED
- Declined
- DECLINED
- CONFIRMED
- CONFIRMED
- DECLINED
- DECLINED
- "CONFIRMED"
- CONFIRMED
- "DECLINED"
- DECLINED
AnomalySubscriptionSubscriberType, AnomalySubscriptionSubscriberTypeArgs        
- Sns
- SNS
- AnomalySubscription Subscriber Type Email 
- AnomalySubscription Subscriber Type Sns 
- SNS
- Sns
- SNS
- Sns
- SNS
- SNS
- SNS
- "EMAIL"
- "SNS"
- SNS
Package Details
- Repository
- AWS Native pulumi/pulumi-aws-native
- License
- Apache-2.0
We recommend new projects start with resources from the AWS provider.