StartAppAssessmentCommand

Creates a new application assessment for an application.

Example Syntax

Use a bare-bones client and the command you need to make an API call.

import { ResiliencehubClient, StartAppAssessmentCommand } from "@aws-sdk/client-resiliencehub"; // ES Modules import
// const { ResiliencehubClient, StartAppAssessmentCommand } = require("@aws-sdk/client-resiliencehub"); // CommonJS import
const client = new ResiliencehubClient(config);
const input = { // StartAppAssessmentRequest
  appArn: "STRING_VALUE", // required
  appVersion: "STRING_VALUE", // required
  assessmentName: "STRING_VALUE", // required
  clientToken: "STRING_VALUE",
  tags: { // TagMap
    "<keys>": "STRING_VALUE",
  },
};
const command = new StartAppAssessmentCommand(input);
const response = await client.send(command);
// { // StartAppAssessmentResponse
//   assessment: { // AppAssessment
//     appArn: "STRING_VALUE",
//     appVersion: "STRING_VALUE",
//     invoker: "User" || "System", // required
//     cost: { // Cost
//       amount: Number("double"), // required
//       currency: "STRING_VALUE", // required
//       frequency: "Hourly" || "Daily" || "Monthly" || "Yearly", // required
//     },
//     resiliencyScore: { // ResiliencyScore
//       score: Number("double"), // required
//       disruptionScore: { // DisruptionResiliencyScore // required
//         "<keys>": Number("double"),
//       },
//       componentScore: { // ScoringComponentResiliencyScores
//         "<keys>": { // ScoringComponentResiliencyScore
//           score: Number("double"),
//           possibleScore: Number("double"),
//           outstandingCount: Number("long"),
//           excludedCount: Number("long"),
//         },
//       },
//     },
//     compliance: { // AssessmentCompliance
//       "<keys>": { // DisruptionCompliance
//         achievableRtoInSecs: Number("int"),
//         currentRtoInSecs: Number("int"),
//         rtoReferenceId: "STRING_VALUE",
//         rtoDescription: "STRING_VALUE",
//         currentRpoInSecs: Number("int"),
//         rpoReferenceId: "STRING_VALUE",
//         rpoDescription: "STRING_VALUE",
//         complianceStatus: "PolicyBreached" || "PolicyMet" || "NotApplicable" || "MissingPolicy", // required
//         achievableRpoInSecs: Number("int"),
//         message: "STRING_VALUE",
//       },
//     },
//     complianceStatus: "PolicyBreached" || "PolicyMet" || "NotApplicable" || "MissingPolicy",
//     assessmentStatus: "Pending" || "InProgress" || "Failed" || "Success", // required
//     startTime: new Date("TIMESTAMP"),
//     endTime: new Date("TIMESTAMP"),
//     message: "STRING_VALUE",
//     assessmentName: "STRING_VALUE",
//     assessmentArn: "STRING_VALUE", // required
//     policy: { // ResiliencyPolicy
//       policyArn: "STRING_VALUE",
//       policyName: "STRING_VALUE",
//       policyDescription: "STRING_VALUE",
//       dataLocationConstraint: "AnyLocation" || "SameContinent" || "SameCountry",
//       tier: "MissionCritical" || "Critical" || "Important" || "CoreServices" || "NonCritical" || "NotApplicable",
//       estimatedCostTier: "L1" || "L2" || "L3" || "L4",
//       policy: { // DisruptionPolicy
//         "<keys>": { // FailurePolicy
//           rtoInSecs: Number("int"), // required
//           rpoInSecs: Number("int"), // required
//         },
//       },
//       creationTime: new Date("TIMESTAMP"),
//       tags: { // TagMap
//         "<keys>": "STRING_VALUE",
//       },
//     },
//     tags: {
//       "<keys>": "STRING_VALUE",
//     },
//     resourceErrorsDetails: { // ResourceErrorsDetails
//       resourceErrors: [ // ResourceErrorList
//         { // ResourceError
//           logicalResourceId: "STRING_VALUE",
//           physicalResourceId: "STRING_VALUE",
//           reason: "STRING_VALUE",
//         },
//       ],
//       hasMoreErrors: true || false,
//     },
//     versionName: "STRING_VALUE",
//     driftStatus: "NotChecked" || "NotDetected" || "Detected",
//     summary: { // AssessmentSummary
//       summary: "STRING_VALUE",
//       riskRecommendations: [ // AssessmentRiskRecommendationList
//         { // AssessmentRiskRecommendation
//           risk: "STRING_VALUE",
//           recommendation: "STRING_VALUE",
//           appComponents: [ // AppComponentNameList
//             "STRING_VALUE",
//           ],
//         },
//       ],
//     },
//   },
// };

StartAppAssessmentCommand Input

See StartAppAssessmentCommandInput for more details

Parameter
Type
Description
appArn
Required
string | undefined

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs)  in the Amazon Web Services General Reference guide.

appVersion
Required
string | undefined

The version of the application.

assessmentName
Required
string | undefined

The name for the assessment.

clientToken
string | undefined

Used for an idempotency token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. You should not reuse the same client token for other API requests.

tags
Record<string, string> | undefined

Tags assigned to the resource. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key/value pair.

StartAppAssessmentCommand Output

Parameter
Type
Description
$metadata
Required
ResponseMetadata
Metadata pertaining to this request.
assessment
Required
AppAssessment | undefined

The assessment created.

Throws

Name
Fault
Details
AccessDeniedException
client

You don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions.

ConflictException
client

This exception occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

InternalServerException
server

This exception occurs when there is an internal failure in the Resilience Hub service.

ResourceNotFoundException
client

This exception occurs when the specified resource could not be found.

ServiceQuotaExceededException
client

This exception occurs when you have exceeded your service quota. To perform the requested action, remove some of the relevant resources, or use Service Quotas to request a service quota increase.

ThrottlingException
client

This exception occurs when you have exceeded the limit on the number of requests per second.

ValidationException
client

This exception occurs when a request is not valid.

ResiliencehubServiceException
Base exception class for all service exceptions from Resiliencehub service.