Skip to content

Commit 84ff65b

Browse files
author
awstools
committed
feat(client-devops-guru): This release adds filter feature on AddNotificationChannel API, enable customer to configure the SNS notification messages by Severity or MessageTypes
1 parent 4ad08ad commit 84ff65b

File tree

3 files changed

+1026
-633
lines changed

3 files changed

+1026
-633
lines changed

clients/client-devops-guru/src/models/models_0.ts

Lines changed: 101 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,43 @@ export interface AccountHealth {
6464
Insight?: AccountInsightHealth;
6565
}
6666

67+
export enum NotificationMessageType {
68+
CLOSED_INSIGHT = "CLOSED_INSIGHT",
69+
NEW_ASSOCIATION = "NEW_ASSOCIATION",
70+
NEW_INSIGHT = "NEW_INSIGHT",
71+
NEW_RECOMMENDATION = "NEW_RECOMMENDATION",
72+
SEVERITY_UPGRADED = "SEVERITY_UPGRADED",
73+
}
74+
75+
export enum InsightSeverity {
76+
HIGH = "HIGH",
77+
LOW = "LOW",
78+
MEDIUM = "MEDIUM",
79+
}
80+
81+
/**
82+
* <p>
83+
* The filter configurations for the Amazon SNS notification topic you use with DevOps Guru. You can choose to specify which events or message types to receive notifications for.
84+
* You can also choose to specify which severity levels to receive notifications for.
85+
* </p>
86+
*/
87+
export interface NotificationFilterConfig {
88+
/**
89+
* <p>
90+
* The severity levels that you want to receive notifications for. For example, you can choose to receive notifications only for insights with <code>HIGH</code> and <code>MEDIUM</code> severity levels.
91+
* For more information, see <a href="https://docs.aws.amazon.com/devops-guru/latest/userguide/working-with-insights.html#understanding-insights-severities">Understanding insight severities</a>.
92+
* </p>
93+
*/
94+
Severities?: (InsightSeverity | string)[];
95+
96+
/**
97+
* <p>
98+
* The events that you want to receive notifications for. For example, you can choose to receive notifications only when the severity level is upgraded or a new insight is created.
99+
* </p>
100+
*/
101+
MessageTypes?: (NotificationMessageType | string)[];
102+
}
103+
67104
/**
68105
* <p> Contains the Amazon Resource Name (ARN) of an Amazon Simple Notification Service topic. </p>
69106
* <p>If you use an Amazon SNS topic in another account, you must attach a policy to it that grants DevOps Guru permission
@@ -101,6 +138,14 @@ export interface NotificationChannelConfig {
101138
* Amazon Web Services KMS–encrypted Amazon SNS topics</a>.</p>
102139
*/
103140
Sns: SnsChannelConfig | undefined;
141+
142+
/**
143+
* <p>
144+
* The filter configurations for the Amazon SNS notification topic you use with DevOps Guru.
145+
* If you do not provide filter configurations, the default configurations are to receive notifications for all message types of <code>High</code> or <code>Medium</code> severity.
146+
* </p>
147+
*/
148+
Filters?: NotificationFilterConfig;
104149
}
105150

106151
export interface AddNotificationChannelRequest {
@@ -1201,7 +1246,7 @@ export interface CloudFormationCollection {
12011246
}
12021247

12031248
/**
1204-
* <p>A collection of Amazon Web Services stags.</p>
1249+
* <p>A collection of Amazon Web Services tags.</p>
12051250
* <p>Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support
12061251
* tagging, so you can assign the same tag to resources from different services to indicate
12071252
* that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB
@@ -1227,11 +1272,11 @@ export interface CloudFormationCollection {
12271272
* <important>
12281273
* <p>The string used for a <i>key</i> in a tag that you use to define your resource coverage must begin with the
12291274
* prefix <code>Devops-guru-</code>. The tag <i>key</i> might be
1230-
* <code>Devops-guru-deployment-application</code> or
1231-
* <code>Devops-guru-rds-application</code>. While <i>keys</i> are case-sensitive, the
1232-
* case of <i>key</i> characters don't matter to DevOps Guru. For example, DevOps Guru works with a
1275+
* <code>DevOps-Guru-deployment-application</code> or
1276+
* <code>devops-guru-rds-application</code>. When you create a <i>key</i>, the case of characters in the <i>key</i> can be whatever you choose. After you create a <i>key</i>, it is case-sensitive.
1277+
* For example, DevOps Guru works with a
12331278
* <i>key</i> named <code>devops-guru-rds</code> and a <i>key</i> named
1234-
* <code>DevOps-Guru-RDS</code>. Possible <i>key</i>/<i>value</i> pairs in your
1279+
* <code>DevOps-Guru-RDS</code>, and these act as two different <i>keys</i>. Possible <i>key</i>/<i>value</i> pairs in your
12351280
* application might be <code>Devops-Guru-production-application/RDS</code> or
12361281
* <code>Devops-Guru-production-application/containers</code>.</p>
12371282
* </important>
@@ -1244,11 +1289,11 @@ export interface TagCollection {
12441289
* <important>
12451290
* <p>The string used for a <i>key</i> in a tag that you use to define your resource coverage must begin with the
12461291
* prefix <code>Devops-guru-</code>. The tag <i>key</i> might be
1247-
* <code>Devops-guru-deployment-application</code> or
1248-
* <code>Devops-guru-rds-application</code>. While <i>keys</i> are case-sensitive, the
1249-
* case of <i>key</i> characters don't matter to DevOps Guru. For example, DevOps Guru works with a
1292+
* <code>DevOps-Guru-deployment-application</code> or
1293+
* <code>devops-guru-rds-application</code>. When you create a <i>key</i>, the case of characters in the <i>key</i> can be whatever you choose. After you create a <i>key</i>, it is case-sensitive.
1294+
* For example, DevOps Guru works with a
12501295
* <i>key</i> named <code>devops-guru-rds</code> and a <i>key</i> named
1251-
* <code>DevOps-Guru-RDS</code>. Possible <i>key</i>/<i>value</i> pairs in your
1296+
* <code>DevOps-Guru-RDS</code>, and these act as two different <i>keys</i>. Possible <i>key</i>/<i>value</i> pairs in your
12521297
* application might be <code>Devops-Guru-production-application/RDS</code> or
12531298
* <code>Devops-Guru-production-application/containers</code>.</p>
12541299
* </important>
@@ -1307,11 +1352,11 @@ export interface ResourceCollection {
13071352
* <important>
13081353
* <p>The string used for a <i>key</i> in a tag that you use to define your resource coverage must begin with the
13091354
* prefix <code>Devops-guru-</code>. The tag <i>key</i> might be
1310-
* <code>Devops-guru-deployment-application</code> or
1311-
* <code>Devops-guru-rds-application</code>. While <i>keys</i> are case-sensitive, the
1312-
* case of <i>key</i> characters don't matter to DevOps Guru. For example, DevOps Guru works with a
1355+
* <code>DevOps-Guru-deployment-application</code> or
1356+
* <code>devops-guru-rds-application</code>. When you create a <i>key</i>, the case of characters in the <i>key</i> can be whatever you choose. After you create a <i>key</i>, it is case-sensitive.
1357+
* For example, DevOps Guru works with a
13131358
* <i>key</i> named <code>devops-guru-rds</code> and a <i>key</i> named
1314-
* <code>DevOps-Guru-RDS</code>. Possible <i>key</i>/<i>value</i> pairs in your
1359+
* <code>DevOps-Guru-RDS</code>, and these act as two different <i>keys</i>. Possible <i>key</i>/<i>value</i> pairs in your
13151360
* application might be <code>Devops-Guru-production-application/RDS</code> or
13161361
* <code>Devops-Guru-production-application/containers</code>.</p>
13171362
* </important>
@@ -1596,12 +1641,6 @@ export interface InsightTimeRange {
15961641
EndTime?: Date;
15971642
}
15981643

1599-
export enum InsightSeverity {
1600-
HIGH = "HIGH",
1601-
LOW = "LOW",
1602-
MEDIUM = "MEDIUM",
1603-
}
1604-
16051644
export enum InsightStatus {
16061645
CLOSED = "CLOSED",
16071646
ONGOING = "ONGOING",
@@ -1960,11 +1999,11 @@ export interface TagHealth {
19601999
* <important>
19612000
* <p>The string used for a <i>key</i> in a tag that you use to define your resource coverage must begin with the
19622001
* prefix <code>Devops-guru-</code>. The tag <i>key</i> might be
1963-
* <code>Devops-guru-deployment-application</code> or
1964-
* <code>Devops-guru-rds-application</code>. While <i>keys</i> are case-sensitive, the
1965-
* case of <i>key</i> characters don't matter to DevOps Guru. For example, DevOps Guru works with a
2002+
* <code>DevOps-Guru-deployment-application</code> or
2003+
* <code>devops-guru-rds-application</code>. When you create a <i>key</i>, the case of characters in the <i>key</i> can be whatever you choose. After you create a <i>key</i>, it is case-sensitive.
2004+
* For example, DevOps Guru works with a
19662005
* <i>key</i> named <code>devops-guru-rds</code> and a <i>key</i> named
1967-
* <code>DevOps-Guru-RDS</code>. Possible <i>key</i>/<i>value</i> pairs in your
2006+
* <code>DevOps-Guru-RDS</code>, and these act as two different <i>keys</i>. Possible <i>key</i>/<i>value</i> pairs in your
19682007
* application might be <code>Devops-Guru-production-application/RDS</code> or
19692008
* <code>Devops-Guru-production-application/containers</code>.</p>
19702009
* </important>
@@ -2041,11 +2080,11 @@ export interface DescribeOrganizationResourceCollectionHealthResponse {
20412080
* <important>
20422081
* <p>The string used for a <i>key</i> in a tag that you use to define your resource coverage must begin with the
20432082
* prefix <code>Devops-guru-</code>. The tag <i>key</i> might be
2044-
* <code>Devops-guru-deployment-application</code> or
2045-
* <code>Devops-guru-rds-application</code>. While <i>keys</i> are case-sensitive, the
2046-
* case of <i>key</i> characters don't matter to DevOps Guru. For example, DevOps Guru works with a
2083+
* <code>DevOps-Guru-deployment-application</code> or
2084+
* <code>devops-guru-rds-application</code>. When you create a <i>key</i>, the case of characters in the <i>key</i> can be whatever you choose. After you create a <i>key</i>, it is case-sensitive.
2085+
* For example, DevOps Guru works with a
20472086
* <i>key</i> named <code>devops-guru-rds</code> and a <i>key</i> named
2048-
* <code>DevOps-Guru-RDS</code>. Possible <i>key</i>/<i>value</i> pairs in your
2087+
* <code>DevOps-Guru-RDS</code>, and these act as two different <i>keys</i>. Possible <i>key</i>/<i>value</i> pairs in your
20492088
* application might be <code>Devops-Guru-production-application/RDS</code> or
20502089
* <code>Devops-Guru-production-application/containers</code>.</p>
20512090
* </important>
@@ -2122,11 +2161,11 @@ export interface DescribeResourceCollectionHealthResponse {
21222161
* <important>
21232162
* <p>The string used for a <i>key</i> in a tag that you use to define your resource coverage must begin with the
21242163
* prefix <code>Devops-guru-</code>. The tag <i>key</i> might be
2125-
* <code>Devops-guru-deployment-application</code> or
2126-
* <code>Devops-guru-rds-application</code>. While <i>keys</i> are case-sensitive, the
2127-
* case of <i>key</i> characters don't matter to DevOps Guru. For example, DevOps Guru works with a
2164+
* <code>DevOps-Guru-deployment-application</code> or
2165+
* <code>devops-guru-rds-application</code>. When you create a <i>key</i>, the case of characters in the <i>key</i> can be whatever you choose. After you create a <i>key</i>, it is case-sensitive.
2166+
* For example, DevOps Guru works with a
21282167
* <i>key</i> named <code>devops-guru-rds</code> and a <i>key</i> named
2129-
* <code>DevOps-Guru-RDS</code>. Possible <i>key</i>/<i>value</i> pairs in your
2168+
* <code>DevOps-Guru-RDS</code>, and these act as two different <i>keys</i>. Possible <i>key</i>/<i>value</i> pairs in your
21302169
* application might be <code>Devops-Guru-production-application/RDS</code> or
21312170
* <code>Devops-Guru-production-application/containers</code>.</p>
21322171
* </important>
@@ -2278,11 +2317,11 @@ export interface TagCostEstimationResourceCollectionFilter {
22782317
* <important>
22792318
* <p>The string used for a <i>key</i> in a tag that you use to define your resource coverage must begin with the
22802319
* prefix <code>Devops-guru-</code>. The tag <i>key</i> might be
2281-
* <code>Devops-guru-deployment-application</code> or
2282-
* <code>Devops-guru-rds-application</code>. While <i>keys</i> are case-sensitive, the
2283-
* case of <i>key</i> characters don't matter to DevOps Guru. For example, DevOps Guru works with a
2320+
* <code>DevOps-Guru-deployment-application</code> or
2321+
* <code>devops-guru-rds-application</code>. When you create a <i>key</i>, the case of characters in the <i>key</i> can be whatever you choose. After you create a <i>key</i>, it is case-sensitive.
2322+
* For example, DevOps Guru works with a
22842323
* <i>key</i> named <code>devops-guru-rds</code> and a <i>key</i> named
2285-
* <code>DevOps-Guru-RDS</code>. Possible <i>key</i>/<i>value</i> pairs in your
2324+
* <code>DevOps-Guru-RDS</code>, and these act as two different <i>keys</i>. Possible <i>key</i>/<i>value</i> pairs in your
22862325
* application might be <code>Devops-Guru-production-application/RDS</code> or
22872326
* <code>Devops-Guru-production-application/containers</code>.</p>
22882327
* </important>
@@ -2343,11 +2382,11 @@ export interface CostEstimationResourceCollectionFilter {
23432382
* <important>
23442383
* <p>The string used for a <i>key</i> in a tag that you use to define your resource coverage must begin with the
23452384
* prefix <code>Devops-guru-</code>. The tag <i>key</i> might be
2346-
* <code>Devops-guru-deployment-application</code> or
2347-
* <code>Devops-guru-rds-application</code>. While <i>keys</i> are case-sensitive, the
2348-
* case of <i>key</i> characters don't matter to DevOps Guru. For example, DevOps Guru works with a
2385+
* <code>DevOps-Guru-deployment-application</code> or
2386+
* <code>devops-guru-rds-application</code>. When you create a <i>key</i>, the case of characters in the <i>key</i> can be whatever you choose. After you create a <i>key</i>, it is case-sensitive.
2387+
* For example, DevOps Guru works with a
23492388
* <i>key</i> named <code>devops-guru-rds</code> and a <i>key</i> named
2350-
* <code>DevOps-Guru-RDS</code>. Possible <i>key</i>/<i>value</i> pairs in your
2389+
* <code>DevOps-Guru-RDS</code>, and these act as two different <i>keys</i>. Possible <i>key</i>/<i>value</i> pairs in your
23512390
* application might be <code>Devops-Guru-production-application/RDS</code> or
23522391
* <code>Devops-Guru-production-application/containers</code>.</p>
23532392
* </important>
@@ -2453,11 +2492,11 @@ export interface TagCollectionFilter {
24532492
* <important>
24542493
* <p>The string used for a <i>key</i> in a tag that you use to define your resource coverage must begin with the
24552494
* prefix <code>Devops-guru-</code>. The tag <i>key</i> might be
2456-
* <code>Devops-guru-deployment-application</code> or
2457-
* <code>Devops-guru-rds-application</code>. While <i>keys</i> are case-sensitive, the
2458-
* case of <i>key</i> characters don't matter to DevOps Guru. For example, DevOps Guru works with a
2495+
* <code>DevOps-Guru-deployment-application</code> or
2496+
* <code>devops-guru-rds-application</code>. When you create a <i>key</i>, the case of characters in the <i>key</i> can be whatever you choose. After you create a <i>key</i>, it is case-sensitive.
2497+
* For example, DevOps Guru works with a
24592498
* <i>key</i> named <code>devops-guru-rds</code> and a <i>key</i> named
2460-
* <code>DevOps-Guru-RDS</code>. Possible <i>key</i>/<i>value</i> pairs in your
2499+
* <code>DevOps-Guru-RDS</code>, and these act as two different <i>keys</i>. Possible <i>key</i>/<i>value</i> pairs in your
24612500
* application might be <code>Devops-Guru-production-application/RDS</code> or
24622501
* <code>Devops-Guru-production-application/containers</code>.</p>
24632502
* </important>
@@ -2516,11 +2555,11 @@ export interface ResourceCollectionFilter {
25162555
* <important>
25172556
* <p>The string used for a <i>key</i> in a tag that you use to define your resource coverage must begin with the
25182557
* prefix <code>Devops-guru-</code>. The tag <i>key</i> might be
2519-
* <code>Devops-guru-deployment-application</code> or
2520-
* <code>Devops-guru-rds-application</code>. While <i>keys</i> are case-sensitive, the
2521-
* case of <i>key</i> characters don't matter to DevOps Guru. For example, DevOps Guru works with a
2558+
* <code>DevOps-Guru-deployment-application</code> or
2559+
* <code>devops-guru-rds-application</code>. When you create a <i>key</i>, the case of characters in the <i>key</i> can be whatever you choose. After you create a <i>key</i>, it is case-sensitive.
2560+
* For example, DevOps Guru works with a
25222561
* <i>key</i> named <code>devops-guru-rds</code> and a <i>key</i> named
2523-
* <code>DevOps-Guru-RDS</code>. Possible <i>key</i>/<i>value</i> pairs in your
2562+
* <code>DevOps-Guru-RDS</code>, and these act as two different <i>keys</i>. Possible <i>key</i>/<i>value</i> pairs in your
25242563
* application might be <code>Devops-Guru-production-application/RDS</code> or
25252564
* <code>Devops-Guru-production-application/containers</code>.</p>
25262565
* </important>
@@ -4016,11 +4055,11 @@ export interface UpdateTagCollectionFilter {
40164055
* <important>
40174056
* <p>The string used for a <i>key</i> in a tag that you use to define your resource coverage must begin with the
40184057
* prefix <code>Devops-guru-</code>. The tag <i>key</i> might be
4019-
* <code>Devops-guru-deployment-application</code> or
4020-
* <code>Devops-guru-rds-application</code>. While <i>keys</i> are case-sensitive, the
4021-
* case of <i>key</i> characters don't matter to DevOps Guru. For example, DevOps Guru works with a
4058+
* <code>DevOps-Guru-deployment-application</code> or
4059+
* <code>devops-guru-rds-application</code>. When you create a <i>key</i>, the case of characters in the <i>key</i> can be whatever you choose. After you create a <i>key</i>, it is case-sensitive.
4060+
* For example, DevOps Guru works with a
40224061
* <i>key</i> named <code>devops-guru-rds</code> and a <i>key</i> named
4023-
* <code>DevOps-Guru-RDS</code>. Possible <i>key</i>/<i>value</i> pairs in your
4062+
* <code>DevOps-Guru-RDS</code>, and these act as two different <i>keys</i>. Possible <i>key</i>/<i>value</i> pairs in your
40244063
* application might be <code>Devops-Guru-production-application/RDS</code> or
40254064
* <code>Devops-Guru-production-application/containers</code>.</p>
40264065
* </important>
@@ -4075,11 +4114,11 @@ export interface UpdateResourceCollectionFilter {
40754114
* <important>
40764115
* <p>The string used for a <i>key</i> in a tag that you use to define your resource coverage must begin with the
40774116
* prefix <code>Devops-guru-</code>. The tag <i>key</i> might be
4078-
* <code>Devops-guru-deployment-application</code> or
4079-
* <code>Devops-guru-rds-application</code>. While <i>keys</i> are case-sensitive, the
4080-
* case of <i>key</i> characters don't matter to DevOps Guru. For example, DevOps Guru works with a
4117+
* <code>DevOps-Guru-deployment-application</code> or
4118+
* <code>devops-guru-rds-application</code>. When you create a <i>key</i>, the case of characters in the <i>key</i> can be whatever you choose. After you create a <i>key</i>, it is case-sensitive.
4119+
* For example, DevOps Guru works with a
40814120
* <i>key</i> named <code>devops-guru-rds</code> and a <i>key</i> named
4082-
* <code>DevOps-Guru-RDS</code>. Possible <i>key</i>/<i>value</i> pairs in your
4121+
* <code>DevOps-Guru-RDS</code>, and these act as two different <i>keys</i>. Possible <i>key</i>/<i>value</i> pairs in your
40834122
* application might be <code>Devops-Guru-production-application/RDS</code> or
40844123
* <code>Devops-Guru-production-application/containers</code>.</p>
40854124
* </important>
@@ -4169,6 +4208,13 @@ export const AccountHealthFilterSensitiveLog = (obj: AccountHealth): any => ({
41694208
...obj,
41704209
});
41714210

4211+
/**
4212+
* @internal
4213+
*/
4214+
export const NotificationFilterConfigFilterSensitiveLog = (obj: NotificationFilterConfig): any => ({
4215+
...obj,
4216+
});
4217+
41724218
/**
41734219
* @internal
41744220
*/

0 commit comments

Comments
 (0)