Files
2026-05-06 18:55:16 -05:00

698 lines
31 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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 dont exceed the chosen threshold and therefore dont 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 anomalys 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 anomalys 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 anomalys 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 anomalys 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 };