diff --git a/API.md b/API.md index 375ce3e..217e4b1 100644 --- a/API.md +++ b/API.md @@ -456,16 +456,16 @@ public readonly applicationName: string; ```typescript import { ApplicationCostMonitoringProps } from 'cost-monitoring-construct' -new ApplicationCostMonitoringProps(applicationName: string, monthlyLimitInDollars: number, otherStacksIncludedInBudget?: Stack[], defaultTopic?: string, subscribers?: string[], costAllocationTag?: string) +new ApplicationCostMonitoringProps(applicationName: string, monthlyLimitInDollars: number, subscribers: string[], otherStacksIncludedInBudget?: Stack[], defaultTopic?: string, costAllocationTag?: string) ``` | **Name** | **Type** | **Description** | | --- | --- | --- | | applicationName | string | - the name of application to label resources with it. | | monthlyLimitInDollars | number | - montly limit in US Dollors. | +| subscribers | string[] | - list of email address that the CostMonitoring will use to send alerts to. | | otherStacksIncludedInBudget | aws-cdk-lib.Stack[] | - optional other stack to track their resources alog with the default stack. | | defaultTopic | string | - default SNS topic name. | -| subscribers | string[] | - list of email address that the CostMonitoring will use to send alerts to. | | costAllocationTag | string | - Tag key used to track resources' expenditure. | --- @@ -486,6 +486,14 @@ montly limit in US Dollors. --- +##### `subscribers`Required + +- *Type:* string[] + +list of email address that the CostMonitoring will use to send alerts to. + +--- + ##### `otherStacksIncludedInBudget`Optional - *Type:* aws-cdk-lib.Stack[] @@ -504,14 +512,6 @@ Only if provided, the BudgetStratgy creates an SNS topic and send notifications --- -##### `subscribers`Optional - -- *Type:* string[] - -list of email address that the CostMonitoring will use to send alerts to. - ---- - ##### `costAllocationTag`Optional - *Type:* string @@ -530,10 +530,10 @@ Only if provided, it will be used to tag the application resources. Defaults to | --- | --- | --- | | applicationName | string | - the name of application to label resources with it. | | monthlyLimitInDollars | number | - montly limit in US Dollors. | +| subscribers | string[] | - list of email address that the CostMonitoring will use to send alerts to. | | costAllocationTag | string | - Tag key used to track resources' expenditure. | | defaultTopic | string | - default SNS topic name. | | otherStacksIncludedInBudget | aws-cdk-lib.Stack[] | - optional other stack to track their resources alog with the default stack. | -| subscribers | string[] | - list of email address that the CostMonitoring will use to send alerts to. | --- @@ -561,6 +561,18 @@ montly limit in US Dollors. --- +##### `subscribers`Required + +```typescript +public readonly subscribers: string[]; +``` + +- *Type:* string[] + +list of email address that the CostMonitoring will use to send alerts to. + +--- + ##### `costAllocationTag`Optional ```typescript @@ -601,18 +613,6 @@ optional other stack to track their resources alog with the default stack. --- -##### `subscribers`Optional - -```typescript -public readonly subscribers: string[]; -``` - -- *Type:* string[] - -list of email address that the CostMonitoring will use to send alerts to. - ---- - ### IBudgetStrategy @@ -749,8 +749,8 @@ Return default SNS topic only if the defultTopic prop has been passed when insta | **Name** | **Type** | **Description** | | --- | --- | --- | | monthlyLimitInDollars | number | *No description.* | -| defaultTopic | string | *No description.* | | subscribers | string[] | *No description.* | +| defaultTopic | string | *No description.* | | applicationName | string | *No description.* | | costAllocationTag | string | *No description.* | | otherStacksIncludedInBudget | aws-cdk-lib.Stack[] | *No description.* | @@ -767,23 +767,23 @@ public readonly monthlyLimitInDollars: number; --- -##### `defaultTopic`Optional +##### `subscribers`Required ```typescript -public readonly defaultTopic: string; +public readonly subscribers: string[]; ``` -- *Type:* string +- *Type:* string[] --- -##### `subscribers`Optional +##### `defaultTopic`Optional ```typescript -public readonly subscribers: string[]; +public readonly defaultTopic: string; ``` -- *Type:* string[] +- *Type:* string --- @@ -950,8 +950,8 @@ public readonly tags: ITag[]; | **Name** | **Type** | **Description** | | --- | --- | --- | | monthlyLimitInDollars | number | *No description.* | -| defaultTopic | string | *No description.* | | subscribers | string[] | *No description.* | +| defaultTopic | string | *No description.* | --- @@ -965,23 +965,23 @@ public readonly monthlyLimitInDollars: number; --- -##### `defaultTopic`Optional +##### `subscribers`Required ```typescript -public readonly defaultTopic: string; +public readonly subscribers: string[]; ``` -- *Type:* string +- *Type:* string[] --- -##### `subscribers`Optional +##### `defaultTopic`Optional ```typescript -public readonly subscribers: string[]; +public readonly defaultTopic: string; ``` -- *Type:* string[] +- *Type:* string --- diff --git a/src/application-cost-monitoring.ts b/src/application-cost-monitoring.ts index 0fa12f1..cedf9f7 100644 --- a/src/application-cost-monitoring.ts +++ b/src/application-cost-monitoring.ts @@ -21,9 +21,9 @@ export class ApplicationCostMonitoringProps implements IApplicationCostMonitorin constructor( public applicationName: string, public monthlyLimitInDollars: number, + public subscribers: string[], public otherStacksIncludedInBudget?: Stack[], public defaultTopic?: string, - public subscribers?: string[], public costAllocationTag?: string ) {} } diff --git a/src/budget-strategy.ts b/src/budget-strategy.ts index 9899803..71485d6 100644 --- a/src/budget-strategy.ts +++ b/src/budget-strategy.ts @@ -3,8 +3,8 @@ import { Email, SubscriptionType } from "./utils"; export interface IBudgetStrategyProps { monthlyLimitInDollars: number; + subscribers: Array; defaultTopic?: string; - subscribers?: Array; } export abstract class IBudgetStrategy {