698 lines
31 KiB
TypeScript
698 lines
31 KiB
TypeScript
import * as cdk from "../../core/lib";
|
||
import * as constructs from "constructs";
|
||
import * as cfn_parse from "../../core/lib/helpers-internal";
|
||
import { AnomalyMonitorReference, AnomalySubscriptionReference, CostCategoryReference, IAnomalyMonitorRef, IAnomalySubscriptionRef, ICostCategoryRef } from "../../interfaces/generated/aws-ce-interfaces.generated";
|
||
import { aws_ce as ceRefs } from "../../interfaces";
|
||
/**
|
||
* The `AWS::CE::AnomalyMonitor` resource is a Cost Explorer resource type that continuously inspects your account's cost data for anomalies, based on `MonitorType` and `MonitorSpecification` .
|
||
*
|
||
* The content consists of detailed metadata and the current status of the monitor object.
|
||
*
|
||
* @cloudformationResource AWS::CE::AnomalyMonitor
|
||
* @stability external
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html
|
||
*/
|
||
export declare class CfnAnomalyMonitor extends cdk.CfnResource implements cdk.IInspectable, IAnomalyMonitorRef, cdk.ITaggableV2 {
|
||
/**
|
||
* The CloudFormation resource type name for this resource class.
|
||
*/
|
||
static readonly CFN_RESOURCE_TYPE_NAME: string;
|
||
/**
|
||
* Build a CfnAnomalyMonitor from CloudFormation properties
|
||
*
|
||
* A factory method that creates a new instance of this class from an object
|
||
* containing the CloudFormation properties of this resource.
|
||
* Used in the @aws-cdk/cloudformation-include module.
|
||
*
|
||
* @internal
|
||
*/
|
||
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnAnomalyMonitor;
|
||
/**
|
||
* Checks whether the given object is a CfnAnomalyMonitor
|
||
*/
|
||
static isCfnAnomalyMonitor(x: any): x is CfnAnomalyMonitor;
|
||
/**
|
||
* Tag Manager which manages the tags for this resource
|
||
*/
|
||
readonly cdkTagManager: cdk.TagManager;
|
||
/**
|
||
* For customer managed monitors, do not specify this field.
|
||
*/
|
||
private _monitorDimension?;
|
||
/**
|
||
* The name of the monitor.
|
||
*/
|
||
private _monitorName;
|
||
/**
|
||
* The array of `MonitorSpecification` in JSON array format.
|
||
*/
|
||
private _monitorSpecification?;
|
||
/**
|
||
* The type of the monitor.
|
||
*/
|
||
private _monitorType;
|
||
/**
|
||
* Tags to assign to monitor.
|
||
*/
|
||
private _resourceTags?;
|
||
protected readonly cfnPropertyNames: Record<string, string>;
|
||
/**
|
||
* Create a new `AWS::CE::AnomalyMonitor`.
|
||
*
|
||
* @param scope Scope in which this resource is defined
|
||
* @param id Construct identifier for this resource (unique in its scope)
|
||
* @param props Resource properties
|
||
*/
|
||
constructor(scope: constructs.Construct, id: string, props: CfnAnomalyMonitorProps);
|
||
get anomalyMonitorRef(): AnomalyMonitorReference;
|
||
/**
|
||
* For customer managed monitors, do not specify this field.
|
||
*/
|
||
get monitorDimension(): string | undefined;
|
||
/**
|
||
* For customer managed monitors, do not specify this field.
|
||
*/
|
||
set monitorDimension(value: string | undefined);
|
||
/**
|
||
* The name of the monitor.
|
||
*/
|
||
get monitorName(): string;
|
||
/**
|
||
* The name of the monitor.
|
||
*/
|
||
set monitorName(value: string);
|
||
/**
|
||
* The array of `MonitorSpecification` in JSON array format.
|
||
*/
|
||
get monitorSpecification(): string | undefined;
|
||
/**
|
||
* The array of `MonitorSpecification` in JSON array format.
|
||
*/
|
||
set monitorSpecification(value: string | undefined);
|
||
/**
|
||
* The type of the monitor.
|
||
*/
|
||
get monitorType(): string;
|
||
/**
|
||
* The type of the monitor.
|
||
*/
|
||
set monitorType(value: string);
|
||
/**
|
||
* Tags to assign to monitor.
|
||
*/
|
||
get resourceTags(): Array<CfnAnomalyMonitor.ResourceTagProperty> | undefined;
|
||
/**
|
||
* Tags to assign to monitor.
|
||
*/
|
||
set resourceTags(value: Array<CfnAnomalyMonitor.ResourceTagProperty> | undefined);
|
||
/**
|
||
* The date when the monitor was created.
|
||
*
|
||
* @cloudformationAttribute CreationDate
|
||
*/
|
||
get attrCreationDate(): string;
|
||
/**
|
||
* The value for evaluated dimensions.
|
||
*
|
||
* @cloudformationAttribute DimensionalValueCount
|
||
*/
|
||
get attrDimensionalValueCount(): number;
|
||
/**
|
||
* The date when the monitor last evaluated for anomalies.
|
||
*
|
||
* @cloudformationAttribute LastEvaluatedDate
|
||
*/
|
||
get attrLastEvaluatedDate(): string;
|
||
/**
|
||
* The date when the monitor was last updated.
|
||
*
|
||
* @cloudformationAttribute LastUpdatedDate
|
||
*/
|
||
get attrLastUpdatedDate(): string;
|
||
/**
|
||
* The Amazon Resource Name (ARN) value for the monitor.
|
||
*
|
||
* @cloudformationAttribute MonitorArn
|
||
*/
|
||
get attrMonitorArn(): string;
|
||
protected get cfnProperties(): Record<string, any>;
|
||
/**
|
||
* Examines the CloudFormation resource and discloses attributes
|
||
*
|
||
* @param inspector tree inspector to collect and process attributes
|
||
*/
|
||
inspect(inspector: cdk.TreeInspector): void;
|
||
protected renderProperties(props: Record<string, any>): Record<string, any>;
|
||
}
|
||
export declare namespace CfnAnomalyMonitor {
|
||
/**
|
||
* The tag structure that contains a tag key and value.
|
||
*
|
||
* > Tagging is supported only for the following Cost Explorer resource types: [`AnomalyMonitor`](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_AnomalyMonitor.html) , [`AnomalySubscription`](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_AnomalySubscription.html) , [`CostCategory`](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_CostCategory.html) .
|
||
*
|
||
* @struct
|
||
* @stability external
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-anomalymonitor-resourcetag.html
|
||
*/
|
||
interface ResourceTagProperty {
|
||
/**
|
||
* The key that's associated with the tag.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-anomalymonitor-resourcetag.html#cfn-ce-anomalymonitor-resourcetag-key
|
||
*/
|
||
readonly key: string;
|
||
/**
|
||
* The value that's associated with the tag.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-anomalymonitor-resourcetag.html#cfn-ce-anomalymonitor-resourcetag-value
|
||
*/
|
||
readonly value: string;
|
||
}
|
||
}
|
||
/**
|
||
* Properties for defining a `CfnAnomalyMonitor`
|
||
*
|
||
* @struct
|
||
* @stability external
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html
|
||
*/
|
||
export interface CfnAnomalyMonitorProps {
|
||
/**
|
||
* For customer managed monitors, do not specify this field.
|
||
*
|
||
* For AWS managed monitors, this field controls which cost dimension is automatically analyzed by the monitor. For `TAG` and `COST_CATEGORY` dimensions, you must also specify MonitorSpecification to configure the specific tag or cost category key to analyze.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html#cfn-ce-anomalymonitor-monitordimension
|
||
*/
|
||
readonly monitorDimension?: string;
|
||
/**
|
||
* The name of the monitor.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html#cfn-ce-anomalymonitor-monitorname
|
||
*/
|
||
readonly monitorName: string;
|
||
/**
|
||
* The array of `MonitorSpecification` in JSON array format.
|
||
*
|
||
* For instance, you can use `MonitorSpecification` to specify a tag, Cost Category, or linked account for your custom anomaly monitor. For further information, see the [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html#aws-resource-ce-anomalymonitor--examples) section of this page.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html#cfn-ce-anomalymonitor-monitorspecification
|
||
*/
|
||
readonly monitorSpecification?: string;
|
||
/**
|
||
* The type of the monitor.
|
||
*
|
||
* Set this to `DIMENSIONAL` for an AWS managed monitor. AWS managed monitors automatically track up to the top 5,000 values by cost within a dimension of your choosing. Each dimension value is evaluated independently. If you start incurring cost in a new value of your chosen dimension, it will automatically be analyzed by an AWS managed monitor.
|
||
*
|
||
* Set this to `CUSTOM` for a customer managed monitor. Customer managed monitors let you select specific dimension values that get monitored in aggregate.
|
||
*
|
||
* For more information about monitor types, see [Monitor types](https://docs.aws.amazon.com/cost-management/latest/userguide/getting-started-ad.html#monitor-type-def) in the *Billing and Cost Management User Guide* .
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html#cfn-ce-anomalymonitor-monitortype
|
||
*/
|
||
readonly monitorType: string;
|
||
/**
|
||
* Tags to assign to monitor.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html#cfn-ce-anomalymonitor-resourcetags
|
||
*/
|
||
readonly resourceTags?: Array<CfnAnomalyMonitor.ResourceTagProperty>;
|
||
}
|
||
/**
|
||
* The `AWS::CE::AnomalySubscription` resource (also referred to as an alert subscription) is a Cost Explorer resource type that sends notifications about specific anomalies that meet an alerting criteria defined by you.
|
||
*
|
||
* You can specify the frequency of the alerts and the subscribers to notify.
|
||
*
|
||
* Anomaly subscriptions can be associated with one or more [`AWS::CE::AnomalyMonitor`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html) resources, and they only send notifications about anomalies detected by those associated monitors. You can also configure a threshold to further control which anomalies are included in the notifications.
|
||
*
|
||
* Anomalies that don’t exceed the chosen threshold and therefore don’t trigger notifications from an anomaly subscription will still be available on the console and from the [`GetAnomalies`](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_GetAnomalies.html) API.
|
||
*
|
||
* @cloudformationResource AWS::CE::AnomalySubscription
|
||
* @stability external
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html
|
||
*/
|
||
export declare class CfnAnomalySubscription extends cdk.CfnResource implements cdk.IInspectable, IAnomalySubscriptionRef, cdk.ITaggableV2 {
|
||
/**
|
||
* The CloudFormation resource type name for this resource class.
|
||
*/
|
||
static readonly CFN_RESOURCE_TYPE_NAME: string;
|
||
/**
|
||
* Build a CfnAnomalySubscription from CloudFormation properties
|
||
*
|
||
* A factory method that creates a new instance of this class from an object
|
||
* containing the CloudFormation properties of this resource.
|
||
* Used in the @aws-cdk/cloudformation-include module.
|
||
*
|
||
* @internal
|
||
*/
|
||
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnAnomalySubscription;
|
||
/**
|
||
* Checks whether the given object is a CfnAnomalySubscription
|
||
*/
|
||
static isCfnAnomalySubscription(x: any): x is CfnAnomalySubscription;
|
||
/**
|
||
* Tag Manager which manages the tags for this resource
|
||
*/
|
||
readonly cdkTagManager: cdk.TagManager;
|
||
/**
|
||
* The frequency that anomaly notifications are sent.
|
||
*/
|
||
private _frequency;
|
||
/**
|
||
* A list of cost anomaly monitors.
|
||
*/
|
||
private _monitorArnList;
|
||
/**
|
||
* Tags to assign to subscription.
|
||
*/
|
||
private _resourceTags?;
|
||
/**
|
||
* A list of subscribers to notify.
|
||
*/
|
||
private _subscribers;
|
||
/**
|
||
* The name for the subscription.
|
||
*/
|
||
private _subscriptionName;
|
||
/**
|
||
* (deprecated).
|
||
*/
|
||
private _threshold?;
|
||
/**
|
||
* An [Expression](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) object in JSON string format used to specify the anomalies that you want to generate alerts for. This supports dimensions and nested expressions. The supported dimensions are `ANOMALY_TOTAL_IMPACT_ABSOLUTE` and `ANOMALY_TOTAL_IMPACT_PERCENTAGE` , corresponding to an anomaly’s TotalImpact and TotalImpactPercentage, respectively (see [Impact](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Impact.html) for more details). The supported nested expression types are `AND` and `OR` . The match option `GREATER_THAN_OR_EQUAL` is required. Values must be numbers between 0 and 10,000,000,000 in string format.
|
||
*/
|
||
private _thresholdExpression?;
|
||
protected readonly cfnPropertyNames: Record<string, string>;
|
||
/**
|
||
* Create a new `AWS::CE::AnomalySubscription`.
|
||
*
|
||
* @param scope Scope in which this resource is defined
|
||
* @param id Construct identifier for this resource (unique in its scope)
|
||
* @param props Resource properties
|
||
*/
|
||
constructor(scope: constructs.Construct, id: string, props: CfnAnomalySubscriptionProps);
|
||
get anomalySubscriptionRef(): AnomalySubscriptionReference;
|
||
/**
|
||
* The frequency that anomaly notifications are sent.
|
||
*/
|
||
get frequency(): string;
|
||
/**
|
||
* The frequency that anomaly notifications are sent.
|
||
*/
|
||
set frequency(value: string);
|
||
/**
|
||
* A list of cost anomaly monitors.
|
||
*/
|
||
get monitorArnList(): Array<string>;
|
||
/**
|
||
* A list of cost anomaly monitors.
|
||
*/
|
||
set monitorArnList(value: Array<string>);
|
||
/**
|
||
* Tags to assign to subscription.
|
||
*/
|
||
get resourceTags(): Array<CfnAnomalySubscription.ResourceTagProperty> | undefined;
|
||
/**
|
||
* Tags to assign to subscription.
|
||
*/
|
||
set resourceTags(value: Array<CfnAnomalySubscription.ResourceTagProperty> | undefined);
|
||
/**
|
||
* A list of subscribers to notify.
|
||
*/
|
||
get subscribers(): Array<cdk.IResolvable | CfnAnomalySubscription.SubscriberProperty> | cdk.IResolvable;
|
||
/**
|
||
* A list of subscribers to notify.
|
||
*/
|
||
set subscribers(value: Array<cdk.IResolvable | CfnAnomalySubscription.SubscriberProperty> | cdk.IResolvable);
|
||
/**
|
||
* The name for the subscription.
|
||
*/
|
||
get subscriptionName(): string;
|
||
/**
|
||
* The name for the subscription.
|
||
*/
|
||
set subscriptionName(value: string);
|
||
/**
|
||
* (deprecated).
|
||
*/
|
||
get threshold(): number | undefined;
|
||
/**
|
||
* (deprecated).
|
||
*/
|
||
set threshold(value: number | undefined);
|
||
/**
|
||
* An [Expression](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) object in JSON string format used to specify the anomalies that you want to generate alerts for. This supports dimensions and nested expressions. The supported dimensions are `ANOMALY_TOTAL_IMPACT_ABSOLUTE` and `ANOMALY_TOTAL_IMPACT_PERCENTAGE` , corresponding to an anomaly’s TotalImpact and TotalImpactPercentage, respectively (see [Impact](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Impact.html) for more details). The supported nested expression types are `AND` and `OR` . The match option `GREATER_THAN_OR_EQUAL` is required. Values must be numbers between 0 and 10,000,000,000 in string format.
|
||
*/
|
||
get thresholdExpression(): string | undefined;
|
||
/**
|
||
* An [Expression](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) object in JSON string format used to specify the anomalies that you want to generate alerts for. This supports dimensions and nested expressions. The supported dimensions are `ANOMALY_TOTAL_IMPACT_ABSOLUTE` and `ANOMALY_TOTAL_IMPACT_PERCENTAGE` , corresponding to an anomaly’s TotalImpact and TotalImpactPercentage, respectively (see [Impact](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Impact.html) for more details). The supported nested expression types are `AND` and `OR` . The match option `GREATER_THAN_OR_EQUAL` is required. Values must be numbers between 0 and 10,000,000,000 in string format.
|
||
*/
|
||
set thresholdExpression(value: string | undefined);
|
||
/**
|
||
* Your unique account identifier.
|
||
*
|
||
* @cloudformationAttribute AccountId
|
||
*/
|
||
get attrAccountId(): string;
|
||
/**
|
||
* The `AnomalySubscription` Amazon Resource Name (ARN).
|
||
*
|
||
* @cloudformationAttribute SubscriptionArn
|
||
*/
|
||
get attrSubscriptionArn(): string;
|
||
protected get cfnProperties(): Record<string, any>;
|
||
/**
|
||
* Examines the CloudFormation resource and discloses attributes
|
||
*
|
||
* @param inspector tree inspector to collect and process attributes
|
||
*/
|
||
inspect(inspector: cdk.TreeInspector): void;
|
||
protected renderProperties(props: Record<string, any>): Record<string, any>;
|
||
}
|
||
export declare namespace CfnAnomalySubscription {
|
||
/**
|
||
* The tag structure that contains a tag key and value.
|
||
*
|
||
* > Tagging is supported only for the following Cost Explorer resource types: [`AnomalyMonitor`](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_AnomalyMonitor.html) , [`AnomalySubscription`](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_AnomalySubscription.html) , [`CostCategory`](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_CostCategory.html) .
|
||
*
|
||
* @struct
|
||
* @stability external
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-anomalysubscription-resourcetag.html
|
||
*/
|
||
interface ResourceTagProperty {
|
||
/**
|
||
* The key that's associated with the tag.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-anomalysubscription-resourcetag.html#cfn-ce-anomalysubscription-resourcetag-key
|
||
*/
|
||
readonly key: string;
|
||
/**
|
||
* The value that's associated with the tag.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-anomalysubscription-resourcetag.html#cfn-ce-anomalysubscription-resourcetag-value
|
||
*/
|
||
readonly value: string;
|
||
}
|
||
/**
|
||
* The recipient of `AnomalySubscription` notifications.
|
||
*
|
||
* @struct
|
||
* @stability external
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-anomalysubscription-subscriber.html
|
||
*/
|
||
interface SubscriberProperty {
|
||
/**
|
||
* The email address or SNS Topic Amazon Resource Name (ARN), depending on the `Type` .
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-anomalysubscription-subscriber.html#cfn-ce-anomalysubscription-subscriber-address
|
||
*/
|
||
readonly address: string;
|
||
/**
|
||
* Indicates if the subscriber accepts the notifications.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-anomalysubscription-subscriber.html#cfn-ce-anomalysubscription-subscriber-status
|
||
*/
|
||
readonly status?: string;
|
||
/**
|
||
* The notification delivery channel.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-anomalysubscription-subscriber.html#cfn-ce-anomalysubscription-subscriber-type
|
||
*/
|
||
readonly type: string;
|
||
}
|
||
}
|
||
/**
|
||
* Properties for defining a `CfnAnomalySubscription`
|
||
*
|
||
* @struct
|
||
* @stability external
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html
|
||
*/
|
||
export interface CfnAnomalySubscriptionProps {
|
||
/**
|
||
* The frequency that anomaly notifications are sent.
|
||
*
|
||
* Notifications are sent either over email (for DAILY and WEEKLY frequencies) or SNS (for IMMEDIATE frequency). For more information, see [Creating an Amazon SNS topic for anomaly notifications](https://docs.aws.amazon.com/cost-management/latest/userguide/ad-SNS.html) .
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html#cfn-ce-anomalysubscription-frequency
|
||
*/
|
||
readonly frequency: string;
|
||
/**
|
||
* A list of cost anomaly monitors.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html#cfn-ce-anomalysubscription-monitorarnlist
|
||
*/
|
||
readonly monitorArnList: Array<ceRefs.IAnomalyMonitorRef | string>;
|
||
/**
|
||
* Tags to assign to subscription.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html#cfn-ce-anomalysubscription-resourcetags
|
||
*/
|
||
readonly resourceTags?: Array<CfnAnomalySubscription.ResourceTagProperty>;
|
||
/**
|
||
* A list of subscribers to notify.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html#cfn-ce-anomalysubscription-subscribers
|
||
*/
|
||
readonly subscribers: Array<cdk.IResolvable | CfnAnomalySubscription.SubscriberProperty> | cdk.IResolvable;
|
||
/**
|
||
* The name for the subscription.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html#cfn-ce-anomalysubscription-subscriptionname
|
||
*/
|
||
readonly subscriptionName: string;
|
||
/**
|
||
* (deprecated).
|
||
*
|
||
* An absolute dollar value that must be exceeded by the anomaly's total impact (see [Impact](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Impact.html) for more details) for an anomaly notification to be generated.
|
||
*
|
||
* This field has been deprecated. To specify a threshold, use ThresholdExpression. Continued use of Threshold will be treated as shorthand syntax for a ThresholdExpression.
|
||
*
|
||
* One of Threshold or ThresholdExpression is required for `AWS::CE::AnomalySubscription` . You cannot specify both.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html#cfn-ce-anomalysubscription-threshold
|
||
*/
|
||
readonly threshold?: number;
|
||
/**
|
||
* An [Expression](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) object in JSON string format used to specify the anomalies that you want to generate alerts for. This supports dimensions and nested expressions. The supported dimensions are `ANOMALY_TOTAL_IMPACT_ABSOLUTE` and `ANOMALY_TOTAL_IMPACT_PERCENTAGE` , corresponding to an anomaly’s TotalImpact and TotalImpactPercentage, respectively (see [Impact](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Impact.html) for more details). The supported nested expression types are `AND` and `OR` . The match option `GREATER_THAN_OR_EQUAL` is required. Values must be numbers between 0 and 10,000,000,000 in string format.
|
||
*
|
||
* One of Threshold or ThresholdExpression is required for `AWS::CE::AnomalySubscription` . You cannot specify both.
|
||
*
|
||
* For further information, see the [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html#aws-resource-ce-anomalysubscription--examples) section of this page.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html#cfn-ce-anomalysubscription-thresholdexpression
|
||
*/
|
||
readonly thresholdExpression?: string;
|
||
}
|
||
/**
|
||
* The `AWS::CE::CostCategory` resource creates groupings of cost that you can use across products in the Billing and Cost Management console, such as Cost Explorer and AWS Budgets.
|
||
*
|
||
* For more information, see [Managing Your Costs with Cost Categories](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-cost-categories.html) in the *Billing and Cost Management User Guide* .
|
||
*
|
||
* @cloudformationResource AWS::CE::CostCategory
|
||
* @stability external
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html
|
||
*/
|
||
export declare class CfnCostCategory extends cdk.CfnResource implements cdk.IInspectable, ICostCategoryRef, cdk.ITaggableV2 {
|
||
/**
|
||
* The CloudFormation resource type name for this resource class.
|
||
*/
|
||
static readonly CFN_RESOURCE_TYPE_NAME: string;
|
||
/**
|
||
* Build a CfnCostCategory from CloudFormation properties
|
||
*
|
||
* A factory method that creates a new instance of this class from an object
|
||
* containing the CloudFormation properties of this resource.
|
||
* Used in the @aws-cdk/cloudformation-include module.
|
||
*
|
||
* @internal
|
||
*/
|
||
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnCostCategory;
|
||
/**
|
||
* Checks whether the given object is a CfnCostCategory
|
||
*/
|
||
static isCfnCostCategory(x: any): x is CfnCostCategory;
|
||
static arnForCostCategory(resource: ICostCategoryRef): string;
|
||
/**
|
||
* Tag Manager which manages the tags for this resource
|
||
*/
|
||
readonly cdkTagManager: cdk.TagManager;
|
||
/**
|
||
* The default value for the cost category.
|
||
*/
|
||
private _defaultValue?;
|
||
/**
|
||
* The unique name of the Cost Category.
|
||
*/
|
||
private _name;
|
||
/**
|
||
* The array of CostCategoryRule in JSON array format.
|
||
*/
|
||
private _rules;
|
||
/**
|
||
* The rule schema version in this particular Cost Category.
|
||
*/
|
||
private _ruleVersion;
|
||
/**
|
||
* The split charge rules that are used to allocate your charges between your cost category values.
|
||
*/
|
||
private _splitChargeRules?;
|
||
/**
|
||
* Tags to assign to the cost category.
|
||
*/
|
||
private _tags?;
|
||
protected readonly cfnPropertyNames: Record<string, string>;
|
||
/**
|
||
* Create a new `AWS::CE::CostCategory`.
|
||
*
|
||
* @param scope Scope in which this resource is defined
|
||
* @param id Construct identifier for this resource (unique in its scope)
|
||
* @param props Resource properties
|
||
*/
|
||
constructor(scope: constructs.Construct, id: string, props: CfnCostCategoryProps);
|
||
get costCategoryRef(): CostCategoryReference;
|
||
/**
|
||
* The default value for the cost category.
|
||
*/
|
||
get defaultValue(): string | undefined;
|
||
/**
|
||
* The default value for the cost category.
|
||
*/
|
||
set defaultValue(value: string | undefined);
|
||
/**
|
||
* The unique name of the Cost Category.
|
||
*/
|
||
get name(): string;
|
||
/**
|
||
* The unique name of the Cost Category.
|
||
*/
|
||
set name(value: string);
|
||
/**
|
||
* The array of CostCategoryRule in JSON array format.
|
||
*/
|
||
get rules(): string;
|
||
/**
|
||
* The array of CostCategoryRule in JSON array format.
|
||
*/
|
||
set rules(value: string);
|
||
/**
|
||
* The rule schema version in this particular Cost Category.
|
||
*/
|
||
get ruleVersion(): string;
|
||
/**
|
||
* The rule schema version in this particular Cost Category.
|
||
*/
|
||
set ruleVersion(value: string);
|
||
/**
|
||
* The split charge rules that are used to allocate your charges between your cost category values.
|
||
*/
|
||
get splitChargeRules(): string | undefined;
|
||
/**
|
||
* The split charge rules that are used to allocate your charges between your cost category values.
|
||
*/
|
||
set splitChargeRules(value: string | undefined);
|
||
/**
|
||
* Tags to assign to the cost category.
|
||
*/
|
||
get tags(): Array<CfnCostCategory.ResourceTagProperty> | undefined;
|
||
/**
|
||
* Tags to assign to the cost category.
|
||
*/
|
||
set tags(value: Array<CfnCostCategory.ResourceTagProperty> | undefined);
|
||
/**
|
||
* The unique identifier for your Cost Category.
|
||
*
|
||
* @cloudformationAttribute Arn
|
||
*/
|
||
get attrArn(): string;
|
||
/**
|
||
* The Cost Category's effective start date.
|
||
*
|
||
* @cloudformationAttribute EffectiveStart
|
||
*/
|
||
get attrEffectiveStart(): string;
|
||
protected get cfnProperties(): Record<string, any>;
|
||
/**
|
||
* Examines the CloudFormation resource and discloses attributes
|
||
*
|
||
* @param inspector tree inspector to collect and process attributes
|
||
*/
|
||
inspect(inspector: cdk.TreeInspector): void;
|
||
protected renderProperties(props: Record<string, any>): Record<string, any>;
|
||
}
|
||
export declare namespace CfnCostCategory {
|
||
/**
|
||
* The tag structure that contains a tag key and value.
|
||
*
|
||
* > Tagging is supported only for the following Cost Explorer resource types: [`AnomalyMonitor`](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_AnomalyMonitor.html) , [`AnomalySubscription`](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_AnomalySubscription.html) , [`CostCategory`](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_CostCategory.html) .
|
||
*
|
||
* @struct
|
||
* @stability external
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-costcategory-resourcetag.html
|
||
*/
|
||
interface ResourceTagProperty {
|
||
/**
|
||
* The key that's associated with the tag.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-costcategory-resourcetag.html#cfn-ce-costcategory-resourcetag-key
|
||
*/
|
||
readonly key: string;
|
||
/**
|
||
* The value that's associated with the tag.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ce-costcategory-resourcetag.html#cfn-ce-costcategory-resourcetag-value
|
||
*/
|
||
readonly value: string;
|
||
}
|
||
}
|
||
/**
|
||
* Properties for defining a `CfnCostCategory`
|
||
*
|
||
* @struct
|
||
* @stability external
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html
|
||
*/
|
||
export interface CfnCostCategoryProps {
|
||
/**
|
||
* The default value for the cost category.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-defaultvalue
|
||
*/
|
||
readonly defaultValue?: string;
|
||
/**
|
||
* The unique name of the Cost Category.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-name
|
||
*/
|
||
readonly name: string;
|
||
/**
|
||
* The array of CostCategoryRule in JSON array format.
|
||
*
|
||
* > Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-rules
|
||
*/
|
||
readonly rules: string;
|
||
/**
|
||
* The rule schema version in this particular Cost Category.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-ruleversion
|
||
*/
|
||
readonly ruleVersion: string;
|
||
/**
|
||
* The split charge rules that are used to allocate your charges between your cost category values.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-splitchargerules
|
||
*/
|
||
readonly splitChargeRules?: string;
|
||
/**
|
||
* Tags to assign to the cost category.
|
||
*
|
||
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html#cfn-ce-costcategory-tags
|
||
*/
|
||
readonly tags?: Array<CfnCostCategory.ResourceTagProperty>;
|
||
}
|
||
export type { IAnomalyMonitorRef, AnomalyMonitorReference };
|
||
export type { IAnomalySubscriptionRef, AnomalySubscriptionReference };
|
||
export type { ICostCategoryRef, CostCategoryReference };
|