Skip to content

Commit 2014889

Browse files
author
awstools
committed
feat(client-resiliencehub): AWS Resilience Hub now automatically detects already configured CloudWatch alarms and FIS experiments as part of the assessment process and returns the discovered resources in the corresponding list API responses. It also allows you to include or exclude test recommendations for an AppComponent.
1 parent 7fee20d commit 2014889

File tree

7 files changed

+182
-12
lines changed

7 files changed

+182
-12
lines changed

clients/client-resiliencehub/src/commands/BatchUpdateRecommendationStatusCommand.ts

+2
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ export interface BatchUpdateRecommendationStatusCommandOutput
5252
* targetRegion: "STRING_VALUE",
5353
* },
5454
* excluded: true || false, // required
55+
* appComponentId: "STRING_VALUE",
5556
* excludeReason: "AlreadyImplemented" || "NotRelevant" || "ComplexityOfImplementation",
5657
* },
5758
* ],
@@ -70,6 +71,7 @@ export interface BatchUpdateRecommendationStatusCommandOutput
7071
* // targetRegion: "STRING_VALUE",
7172
* // },
7273
* // excluded: true || false, // required
74+
* // appComponentId: "STRING_VALUE",
7375
* // excludeReason: "AlreadyImplemented" || "NotRelevant" || "ComplexityOfImplementation",
7476
* // },
7577
* // ],

clients/client-resiliencehub/src/commands/ListAlarmRecommendationsCommand.ts

+8
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,14 @@ export interface ListAlarmRecommendationsCommandOutput extends ListAlarmRecommen
5959
* // alreadyImplemented: true || false,
6060
* // excluded: true || false,
6161
* // excludeReason: "AlreadyImplemented" || "NotRelevant" || "ComplexityOfImplementation",
62+
* // latestDiscoveredExperiment: { // Experiment
63+
* // experimentArn: "STRING_VALUE",
64+
* // experimentTemplateId: "STRING_VALUE",
65+
* // },
66+
* // discoveredAlarm: { // Alarm
67+
* // alarmArn: "STRING_VALUE",
68+
* // source: "STRING_VALUE",
69+
* // },
6270
* // },
6371
* // ],
6472
* // prerequisite: "STRING_VALUE",

clients/client-resiliencehub/src/commands/ListSopRecommendationsCommand.ts

+8
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,14 @@ export interface ListSopRecommendationsCommandOutput extends ListSopRecommendati
5959
* // alreadyImplemented: true || false,
6060
* // excluded: true || false,
6161
* // excludeReason: "AlreadyImplemented" || "NotRelevant" || "ComplexityOfImplementation",
62+
* // latestDiscoveredExperiment: { // Experiment
63+
* // experimentArn: "STRING_VALUE",
64+
* // experimentTemplateId: "STRING_VALUE",
65+
* // },
66+
* // discoveredAlarm: { // Alarm
67+
* // alarmArn: "STRING_VALUE",
68+
* // source: "STRING_VALUE",
69+
* // },
6270
* // },
6371
* // ],
6472
* // referenceId: "STRING_VALUE", // required

clients/client-resiliencehub/src/commands/ListTestRecommendationsCommand.ts

+9
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ export interface ListTestRecommendationsCommandOutput extends ListTestRecommenda
4848
* // { // TestRecommendation
4949
* // recommendationId: "STRING_VALUE",
5050
* // referenceId: "STRING_VALUE", // required
51+
* // appComponentId: "STRING_VALUE",
5152
* // appComponentName: "STRING_VALUE",
5253
* // name: "STRING_VALUE",
5354
* // intent: "STRING_VALUE",
@@ -62,6 +63,14 @@ export interface ListTestRecommendationsCommandOutput extends ListTestRecommenda
6263
* // alreadyImplemented: true || false,
6364
* // excluded: true || false,
6465
* // excludeReason: "AlreadyImplemented" || "NotRelevant" || "ComplexityOfImplementation",
66+
* // latestDiscoveredExperiment: { // Experiment
67+
* // experimentArn: "STRING_VALUE",
68+
* // experimentTemplateId: "STRING_VALUE",
69+
* // },
70+
* // discoveredAlarm: { // Alarm
71+
* // alarmArn: "STRING_VALUE",
72+
* // source: "STRING_VALUE",
73+
* // },
6574
* // },
6675
* // ],
6776
* // prerequisite: "STRING_VALUE",

clients/client-resiliencehub/src/models/models_0.ts

+76-7
Original file line numberDiff line numberDiff line change
@@ -567,6 +567,26 @@ export class ServiceQuotaExceededException extends __BaseException {
567567
}
568568
}
569569

570+
/**
571+
* <p>Indicates the Amazon CloudWatch alarm detected while running an assessment.</p>
572+
* @public
573+
*/
574+
export interface Alarm {
575+
/**
576+
* <p>Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.</p>
577+
* @public
578+
*/
579+
alarmArn?: string | undefined;
580+
581+
/**
582+
* <p>Indicates the source of the Amazon CloudWatch alarm. That is, it indicates if the
583+
* alarm was created using Resilience Hub recommendation (<code>AwsResilienceHub</code>),
584+
* or if you had created the alarm in Amazon CloudWatch (<code>Customer</code>).</p>
585+
* @public
586+
*/
587+
source?: string | undefined;
588+
}
589+
570590
/**
571591
* @public
572592
* @enum
@@ -583,6 +603,24 @@ export const ExcludeRecommendationReason = {
583603
export type ExcludeRecommendationReason =
584604
(typeof ExcludeRecommendationReason)[keyof typeof ExcludeRecommendationReason];
585605

606+
/**
607+
* <p>Indicates the FIS experiment detected while running an assessment.</p>
608+
* @public
609+
*/
610+
export interface Experiment {
611+
/**
612+
* <p>Amazon Resource Name (ARN) of the FIS experiment.</p>
613+
* @public
614+
*/
615+
experimentArn?: string | undefined;
616+
617+
/**
618+
* <p>Identifier of the FIS experiment template.</p>
619+
* @public
620+
*/
621+
experimentTemplateId?: string | undefined;
622+
}
623+
586624
/**
587625
* <p>Defines a recommendation.</p>
588626
* @public
@@ -623,6 +661,18 @@ export interface RecommendationItem {
623661
* @public
624662
*/
625663
excludeReason?: ExcludeRecommendationReason | undefined;
664+
665+
/**
666+
* <p>Indicates the experiment created in FIS that was discovered by Resilience Hub, which matches the recommendation.</p>
667+
* @public
668+
*/
669+
latestDiscoveredExperiment?: Experiment | undefined;
670+
671+
/**
672+
* <p>Indicates the previously implemented Amazon CloudWatch alarm discovered by Resilience Hub.</p>
673+
* @public
674+
*/
675+
discoveredAlarm?: Alarm | undefined;
626676
}
627677

628678
/**
@@ -853,7 +903,10 @@ export interface PermissionModel {
853903
* <p>Existing Amazon Web Services
854904
* IAM role name in the primary Amazon Web Services account that will be assumed by
855905
* Resilience Hub Service Principle to obtain a read-only access to your application
856-
* resources while running an assessment.</p>
906+
* resources while running an assessment. </p>
907+
* <p>If your IAM role includes a path, you must include the path in the <code>invokerRoleName</code> parameter.
908+
* For example, if your IAM role's ARN is <code>arn:aws:iam:123456789012:role/my-path/role-name</code>, you should pass <code>my-path/role-name</code>.
909+
* </p>
857910
* <note>
858911
* <ul>
859912
* <li>
@@ -1492,8 +1545,7 @@ export interface ResourceErrorsDetails {
14921545
resourceErrors?: ResourceError[] | undefined;
14931546

14941547
/**
1495-
* <p> This indicates if there are more errors not listed in the
1496-
* <code>resourceErrors</code>
1548+
* <p> This indicates if there are more errors not listed in the <code>resourceErrors</code>
14971549
* list. </p>
14981550
* @public
14991551
*/
@@ -1535,7 +1587,7 @@ export interface AssessmentRiskRecommendation {
15351587

15361588
/**
15371589
* <p>Indicates the Application Components (AppComponents) that were assessed as part of the
1538-
* assessnent and are associated with the identified risk and recommendation.</p>
1590+
* assessment and are associated with the identified risk and recommendation.</p>
15391591
* <note>
15401592
* <p>This property is available only in the US East (N. Virginia) Region.</p>
15411593
* </note>
@@ -1774,8 +1826,7 @@ export interface AppAssessmentSummary {
17741826
assessmentArn: string | undefined;
17751827

17761828
/**
1777-
* <p>Current
1778-
* status of compliance for the resiliency policy.</p>
1829+
* <p>Current status of compliance for the resiliency policy.</p>
17791830
* @public
17801831
*/
17811832
complianceStatus?: ComplianceStatus | undefined;
@@ -2144,6 +2195,12 @@ export interface UpdateRecommendationStatusRequestEntry {
21442195
*/
21452196
excluded: boolean | undefined;
21462197

2198+
/**
2199+
* <p>Indicates the identifier of the AppComponent.</p>
2200+
* @public
2201+
*/
2202+
appComponentId?: string | undefined;
2203+
21472204
/**
21482205
* <p>Indicates the reason for excluding an operational recommendation.</p>
21492206
* @public
@@ -2226,6 +2283,12 @@ export interface BatchUpdateRecommendationStatusSuccessfulEntry {
22262283
*/
22272284
excluded: boolean | undefined;
22282285

2286+
/**
2287+
* <p>Indicates the identifier of an AppComponent.</p>
2288+
* @public
2289+
*/
2290+
appComponentId?: string | undefined;
2291+
22292292
/**
22302293
* <p>Indicates the reason for excluding an operational recommendation.</p>
22312294
* @public
@@ -4491,7 +4554,7 @@ export interface ComplianceDrift {
44914554
/**
44924555
* <p>Difference type between actual and expected recovery point objective (RPO) and recovery
44934556
* time objective (RTO) values. Currently, Resilience Hub supports only
4494-
* <code>NotEqual</code> difference type.</p>
4557+
* <code>NotEqual</code> difference type.</p>
44954558
* @public
44964559
*/
44974560
diffType?: DifferenceType | undefined;
@@ -6082,6 +6145,12 @@ export interface TestRecommendation {
60826145
*/
60836146
referenceId: string | undefined;
60846147

6148+
/**
6149+
* <p>Indicates the identifier of the AppComponent.</p>
6150+
* @public
6151+
*/
6152+
appComponentId?: string | undefined;
6153+
60856154
/**
60866155
* <p>Name of the Application Component.</p>
60876156
* @public

clients/client-resiliencehub/src/protocols/Aws_restJson1.ts

+4
Original file line numberDiff line numberDiff line change
@@ -3470,6 +3470,8 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont
34703470

34713471
// de_AdditionalInfoValueList omitted.
34723472

3473+
// de_Alarm omitted.
3474+
34733475
// de_AlarmRecommendation omitted.
34743476

34753477
// de_AlarmRecommendationList omitted.
@@ -3779,6 +3781,8 @@ const de_DisruptionResiliencyScore = (
37793781

37803782
// de_EventSubscriptionList omitted.
37813783

3784+
// de_Experiment omitted.
3785+
37823786
// de_FailedGroupingRecommendationEntries omitted.
37833787

37843788
// de_FailedGroupingRecommendationEntry omitted.

0 commit comments

Comments
 (0)