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 {