import { AlarmType, AppAssessmentScheduleType, AppComplianceStatusType, AppDriftStatusType, AppStatusType, AssessmentInvoker, AssessmentStatus, ComplianceStatus, ConditionOperatorType, ConfigRecommendationOptimizationType, CostFrequency, DataLocationConstraint, DifferenceType, DisruptionType, DriftStatus, DriftType, EstimatedCostTier, EventType, ExcludeRecommendationReason, FieldAggregationType, GroupingRecommendationConfidenceLevel, GroupingRecommendationRejectionReason, GroupingRecommendationStatusType, HaArchitecture, MetricsExportStatusType, PermissionModelType, PhysicalIdentifierType, RecommendationComplianceStatus, RecommendationStatus, RecommendationTemplateStatus, RenderRecommendationType, ResiliencyPolicyTier, ResiliencyScoreType, ResourceImportStatusType, ResourceImportStrategyType, ResourceMappingType, ResourceResolutionStatusType, ResourcesGroupingRecGenStatusType, ResourceSourceType, SopServiceType, TemplateFormat, TestRisk, TestType, } from "./enums"; export interface AcceptGroupingRecommendationEntry { groupingRecommendationId: string | undefined; } export interface AcceptResourceGroupingRecommendationsRequest { appArn: string | undefined; entries: AcceptGroupingRecommendationEntry[] | undefined; } export interface FailedGroupingRecommendationEntry { groupingRecommendationId: string | undefined; errorMessage: string | undefined; } export interface AcceptResourceGroupingRecommendationsResponse { appArn: string | undefined; failedEntries: FailedGroupingRecommendationEntry[] | undefined; } export interface PhysicalResourceId { identifier: string | undefined; type: PhysicalIdentifierType | undefined; awsRegion?: string | undefined; awsAccountId?: string | undefined; } export interface ResourceMapping { resourceName?: string | undefined; logicalStackName?: string | undefined; appRegistryAppName?: string | undefined; resourceGroupName?: string | undefined; mappingType: ResourceMappingType | undefined; physicalResourceId: PhysicalResourceId | undefined; terraformSourceName?: string | undefined; eksSourceName?: string | undefined; } export interface AddDraftAppVersionResourceMappingsRequest { appArn: string | undefined; resourceMappings: ResourceMapping[] | undefined; } export interface AddDraftAppVersionResourceMappingsResponse { appArn: string | undefined; appVersion: string | undefined; resourceMappings: ResourceMapping[] | undefined; } export interface Alarm { alarmArn?: string | undefined; source?: string | undefined; } export interface Experiment { experimentArn?: string | undefined; experimentTemplateId?: string | undefined; } export interface RecommendationItem { resourceId?: string | undefined; targetAccountId?: string | undefined; targetRegion?: string | undefined; alreadyImplemented?: boolean | undefined; excluded?: boolean | undefined; excludeReason?: ExcludeRecommendationReason | undefined; latestDiscoveredExperiment?: Experiment | undefined; discoveredAlarm?: Alarm | undefined; } export interface AlarmRecommendation { recommendationId: string | undefined; referenceId: string | undefined; name: string | undefined; description?: string | undefined; type: AlarmType | undefined; appComponentName?: string | undefined; items?: RecommendationItem[] | undefined; prerequisite?: string | undefined; appComponentNames?: string[] | undefined; recommendationStatus?: RecommendationStatus | undefined; } export interface EventSubscription { name: string | undefined; eventType: EventType | undefined; snsTopicArn?: string | undefined; } export interface PermissionModel { type: PermissionModelType | undefined; invokerRoleName?: string | undefined; crossAccountRoleArns?: string[] | undefined; } export interface App { appArn: string | undefined; name: string | undefined; description?: string | undefined; policyArn?: string | undefined; creationTime: Date | undefined; status?: AppStatusType | undefined; complianceStatus?: AppComplianceStatusType | undefined; lastAppComplianceEvaluationTime?: Date | undefined; resiliencyScore?: number | undefined; lastResiliencyScoreEvaluationTime?: Date | undefined; tags?: Record | undefined; assessmentSchedule?: AppAssessmentScheduleType | undefined; permissionModel?: PermissionModel | undefined; eventSubscriptions?: EventSubscription[] | undefined; driftStatus?: AppDriftStatusType | undefined; lastDriftEvaluationTime?: Date | undefined; rtoInSecs?: number | undefined; rpoInSecs?: number | undefined; awsApplicationArn?: string | undefined; } export interface DisruptionCompliance { achievableRtoInSecs?: number | undefined; currentRtoInSecs?: number | undefined; rtoReferenceId?: string | undefined; rtoDescription?: string | undefined; currentRpoInSecs?: number | undefined; rpoReferenceId?: string | undefined; rpoDescription?: string | undefined; complianceStatus: ComplianceStatus | undefined; achievableRpoInSecs?: number | undefined; message?: string | undefined; } export interface Cost { amount: number | undefined; currency: string | undefined; frequency: CostFrequency | undefined; } export interface FailurePolicy { rtoInSecs: number | undefined; rpoInSecs: number | undefined; } export interface ResiliencyPolicy { policyArn?: string | undefined; policyName?: string | undefined; policyDescription?: string | undefined; dataLocationConstraint?: DataLocationConstraint | undefined; tier?: ResiliencyPolicyTier | undefined; estimatedCostTier?: EstimatedCostTier | undefined; policy?: Partial> | undefined; creationTime?: Date | undefined; tags?: Record | undefined; } export interface ScoringComponentResiliencyScore { score?: number | undefined; possibleScore?: number | undefined; outstandingCount?: number | undefined; excludedCount?: number | undefined; } export interface ResiliencyScore { score: number | undefined; disruptionScore: Partial> | undefined; componentScore?: | Partial> | undefined; } export interface ResourceError { logicalResourceId?: string | undefined; physicalResourceId?: string | undefined; reason?: string | undefined; } export interface ResourceErrorsDetails { resourceErrors?: ResourceError[] | undefined; hasMoreErrors?: boolean | undefined; } export interface AssessmentRiskRecommendation { risk?: string | undefined; recommendation?: string | undefined; appComponents?: string[] | undefined; } export interface AssessmentSummary { summary?: string | undefined; riskRecommendations?: AssessmentRiskRecommendation[] | undefined; } export interface AppAssessment { appArn?: string | undefined; appVersion?: string | undefined; invoker: AssessmentInvoker | undefined; cost?: Cost | undefined; resiliencyScore?: ResiliencyScore | undefined; compliance?: Partial> | undefined; complianceStatus?: ComplianceStatus | undefined; assessmentStatus: AssessmentStatus | undefined; startTime?: Date | undefined; endTime?: Date | undefined; message?: string | undefined; assessmentName?: string | undefined; assessmentArn: string | undefined; policy?: ResiliencyPolicy | undefined; tags?: Record | undefined; resourceErrorsDetails?: ResourceErrorsDetails | undefined; versionName?: string | undefined; driftStatus?: DriftStatus | undefined; summary?: AssessmentSummary | undefined; } export interface AppAssessmentSummary { appArn?: string | undefined; appVersion?: string | undefined; assessmentStatus: AssessmentStatus | undefined; invoker?: AssessmentInvoker | undefined; startTime?: Date | undefined; endTime?: Date | undefined; message?: string | undefined; assessmentName?: string | undefined; assessmentArn: string | undefined; complianceStatus?: ComplianceStatus | undefined; cost?: Cost | undefined; resiliencyScore?: number | undefined; versionName?: string | undefined; driftStatus?: DriftStatus | undefined; } export interface AppComponent { name: string | undefined; type: string | undefined; id?: string | undefined; additionalInfo?: Record | undefined; } export interface AppComponentCompliance { cost?: Cost | undefined; appComponentName?: string | undefined; compliance?: Partial> | undefined; message?: string | undefined; status?: ComplianceStatus | undefined; resiliencyScore?: ResiliencyScore | undefined; } export interface EksSourceClusterNamespace { eksClusterArn: string | undefined; namespace: string | undefined; } export interface TerraformSource { s3StateFileUrl: string | undefined; } export interface AppInputSource { sourceName?: string | undefined; importType: ResourceMappingType | undefined; sourceArn?: string | undefined; terraformSource?: TerraformSource | undefined; resourceCount?: number | undefined; eksSourceClusterNamespace?: EksSourceClusterNamespace | undefined; } export interface AppSummary { appArn: string | undefined; name: string | undefined; description?: string | undefined; creationTime: Date | undefined; complianceStatus?: AppComplianceStatusType | undefined; resiliencyScore?: number | undefined; assessmentSchedule?: AppAssessmentScheduleType | undefined; status?: AppStatusType | undefined; driftStatus?: AppDriftStatusType | undefined; lastAppComplianceEvaluationTime?: Date | undefined; rtoInSecs?: number | undefined; rpoInSecs?: number | undefined; awsApplicationArn?: string | undefined; } export interface AppVersionSummary { appVersion: string | undefined; identifier?: number | undefined; creationTime?: Date | undefined; versionName?: string | undefined; } export interface UpdateRecommendationStatusItem { resourceId?: string | undefined; targetAccountId?: string | undefined; targetRegion?: string | undefined; } export interface UpdateRecommendationStatusRequestEntry { entryId: string | undefined; referenceId: string | undefined; item?: UpdateRecommendationStatusItem | undefined; excluded: boolean | undefined; appComponentId?: string | undefined; excludeReason?: ExcludeRecommendationReason | undefined; } export interface BatchUpdateRecommendationStatusRequest { appArn: string | undefined; requestEntries: UpdateRecommendationStatusRequestEntry[] | undefined; } export interface BatchUpdateRecommendationStatusFailedEntry { entryId: string | undefined; errorMessage: string | undefined; } export interface BatchUpdateRecommendationStatusSuccessfulEntry { entryId: string | undefined; referenceId: string | undefined; item?: UpdateRecommendationStatusItem | undefined; excluded: boolean | undefined; appComponentId?: string | undefined; excludeReason?: ExcludeRecommendationReason | undefined; } export interface BatchUpdateRecommendationStatusResponse { appArn: string | undefined; successfulEntries: BatchUpdateRecommendationStatusSuccessfulEntry[] | undefined; failedEntries: BatchUpdateRecommendationStatusFailedEntry[] | undefined; } export interface CreateAppRequest { name: string | undefined; description?: string | undefined; policyArn?: string | undefined; tags?: Record | undefined; clientToken?: string | undefined; assessmentSchedule?: AppAssessmentScheduleType | undefined; permissionModel?: PermissionModel | undefined; eventSubscriptions?: EventSubscription[] | undefined; awsApplicationArn?: string | undefined; } export interface CreateAppResponse { app: App | undefined; } export interface CreateAppVersionAppComponentRequest { appArn: string | undefined; id?: string | undefined; name: string | undefined; type: string | undefined; additionalInfo?: Record | undefined; clientToken?: string | undefined; } export interface CreateAppVersionAppComponentResponse { appArn: string | undefined; appVersion: string | undefined; appComponent?: AppComponent | undefined; } export interface LogicalResourceId { identifier: string | undefined; logicalStackName?: string | undefined; resourceGroupName?: string | undefined; terraformSourceName?: string | undefined; eksSourceName?: string | undefined; } export interface CreateAppVersionResourceRequest { appArn: string | undefined; resourceName?: string | undefined; logicalResourceId: LogicalResourceId | undefined; physicalResourceId: string | undefined; awsRegion?: string | undefined; awsAccountId?: string | undefined; resourceType: string | undefined; appComponents: string[] | undefined; additionalInfo?: Record | undefined; clientToken?: string | undefined; } export interface PhysicalResource { resourceName?: string | undefined; logicalResourceId: LogicalResourceId | undefined; physicalResourceId: PhysicalResourceId | undefined; resourceType: string | undefined; appComponents?: AppComponent[] | undefined; additionalInfo?: Record | undefined; excluded?: boolean | undefined; sourceType?: ResourceSourceType | undefined; parentResourceName?: string | undefined; } export interface CreateAppVersionResourceResponse { appArn: string | undefined; appVersion: string | undefined; physicalResource?: PhysicalResource | undefined; } export interface CreateRecommendationTemplateRequest { recommendationIds?: string[] | undefined; format?: TemplateFormat | undefined; recommendationTypes?: RenderRecommendationType[] | undefined; assessmentArn: string | undefined; name: string | undefined; clientToken?: string | undefined; tags?: Record | undefined; bucketName?: string | undefined; } export interface S3Location { bucket?: string | undefined; prefix?: string | undefined; } export interface RecommendationTemplate { templatesLocation?: S3Location | undefined; assessmentArn: string | undefined; appArn?: string | undefined; recommendationIds?: string[] | undefined; recommendationTypes: RenderRecommendationType[] | undefined; format: TemplateFormat | undefined; recommendationTemplateArn: string | undefined; message?: string | undefined; status: RecommendationTemplateStatus | undefined; name: string | undefined; startTime?: Date | undefined; endTime?: Date | undefined; tags?: Record | undefined; needsReplacements?: boolean | undefined; } export interface CreateRecommendationTemplateResponse { recommendationTemplate?: RecommendationTemplate | undefined; } export interface CreateResiliencyPolicyRequest { policyName: string | undefined; policyDescription?: string | undefined; dataLocationConstraint?: DataLocationConstraint | undefined; tier: ResiliencyPolicyTier | undefined; policy: Partial> | undefined; clientToken?: string | undefined; tags?: Record | undefined; } export interface CreateResiliencyPolicyResponse { policy: ResiliencyPolicy | undefined; } export interface DeleteAppRequest { appArn: string | undefined; forceDelete?: boolean | undefined; clientToken?: string | undefined; } export interface DeleteAppResponse { appArn: string | undefined; } export interface DeleteAppAssessmentRequest { assessmentArn: string | undefined; clientToken?: string | undefined; } export interface DeleteAppAssessmentResponse { assessmentArn: string | undefined; assessmentStatus: AssessmentStatus | undefined; } export interface DeleteAppInputSourceRequest { appArn: string | undefined; sourceArn?: string | undefined; terraformSource?: TerraformSource | undefined; clientToken?: string | undefined; eksSourceClusterNamespace?: EksSourceClusterNamespace | undefined; } export interface DeleteAppInputSourceResponse { appArn?: string | undefined; appInputSource?: AppInputSource | undefined; } export interface DeleteAppVersionAppComponentRequest { appArn: string | undefined; id: string | undefined; clientToken?: string | undefined; } export interface DeleteAppVersionAppComponentResponse { appArn: string | undefined; appVersion: string | undefined; appComponent?: AppComponent | undefined; } export interface DeleteAppVersionResourceRequest { appArn: string | undefined; resourceName?: string | undefined; logicalResourceId?: LogicalResourceId | undefined; physicalResourceId?: string | undefined; awsRegion?: string | undefined; awsAccountId?: string | undefined; clientToken?: string | undefined; } export interface DeleteAppVersionResourceResponse { appArn: string | undefined; appVersion: string | undefined; physicalResource?: PhysicalResource | undefined; } export interface DeleteRecommendationTemplateRequest { recommendationTemplateArn: string | undefined; clientToken?: string | undefined; } export interface DeleteRecommendationTemplateResponse { recommendationTemplateArn: string | undefined; status: RecommendationTemplateStatus | undefined; } export interface DeleteResiliencyPolicyRequest { policyArn: string | undefined; clientToken?: string | undefined; } export interface DeleteResiliencyPolicyResponse { policyArn: string | undefined; } export interface DescribeAppRequest { appArn: string | undefined; } export interface DescribeAppResponse { app: App | undefined; } export interface DescribeAppAssessmentRequest { assessmentArn: string | undefined; } export interface DescribeAppAssessmentResponse { assessment: AppAssessment | undefined; } export interface DescribeAppVersionRequest { appArn: string | undefined; appVersion: string | undefined; } export interface DescribeAppVersionResponse { appArn: string | undefined; appVersion: string | undefined; additionalInfo?: Record | undefined; } export interface DescribeAppVersionAppComponentRequest { appArn: string | undefined; appVersion: string | undefined; id: string | undefined; } export interface DescribeAppVersionAppComponentResponse { appArn: string | undefined; appVersion: string | undefined; appComponent?: AppComponent | undefined; } export interface DescribeAppVersionResourceRequest { appArn: string | undefined; appVersion: string | undefined; resourceName?: string | undefined; logicalResourceId?: LogicalResourceId | undefined; physicalResourceId?: string | undefined; awsRegion?: string | undefined; awsAccountId?: string | undefined; } export interface DescribeAppVersionResourceResponse { appArn: string | undefined; appVersion: string | undefined; physicalResource?: PhysicalResource | undefined; } export interface DescribeAppVersionResourcesResolutionStatusRequest { appArn: string | undefined; appVersion: string | undefined; resolutionId?: string | undefined; } export interface DescribeAppVersionResourcesResolutionStatusResponse { appArn: string | undefined; appVersion: string | undefined; resolutionId: string | undefined; status: ResourceResolutionStatusType | undefined; errorMessage?: string | undefined; } export interface DescribeAppVersionTemplateRequest { appArn: string | undefined; appVersion: string | undefined; } export interface DescribeAppVersionTemplateResponse { appArn: string | undefined; appVersion: string | undefined; appTemplateBody: string | undefined; } export interface DescribeDraftAppVersionResourcesImportStatusRequest { appArn: string | undefined; } export interface ErrorDetail { errorMessage?: string | undefined; } export interface DescribeDraftAppVersionResourcesImportStatusResponse { appArn: string | undefined; appVersion: string | undefined; status: ResourceImportStatusType | undefined; statusChangeTime: Date | undefined; errorMessage?: string | undefined; errorDetails?: ErrorDetail[] | undefined; } export interface DescribeMetricsExportRequest { metricsExportId: string | undefined; } export interface DescribeMetricsExportResponse { metricsExportId: string | undefined; status: MetricsExportStatusType | undefined; exportLocation?: S3Location | undefined; errorMessage?: string | undefined; } export interface DescribeResiliencyPolicyRequest { policyArn: string | undefined; } export interface DescribeResiliencyPolicyResponse { policy: ResiliencyPolicy | undefined; } export interface DescribeResourceGroupingRecommendationTaskRequest { appArn: string | undefined; groupingId?: string | undefined; } export interface DescribeResourceGroupingRecommendationTaskResponse { groupingId: string | undefined; status: ResourcesGroupingRecGenStatusType | undefined; errorMessage?: string | undefined; } export interface EksSource { eksClusterArn: string | undefined; namespaces: string[] | undefined; } export interface ImportResourcesToDraftAppVersionRequest { appArn: string | undefined; sourceArns?: string[] | undefined; terraformSources?: TerraformSource[] | undefined; importStrategy?: ResourceImportStrategyType | undefined; eksSources?: EksSource[] | undefined; } export interface ImportResourcesToDraftAppVersionResponse { appArn: string | undefined; appVersion: string | undefined; sourceArns?: string[] | undefined; status: ResourceImportStatusType | undefined; terraformSources?: TerraformSource[] | undefined; eksSources?: EksSource[] | undefined; } export interface ListAlarmRecommendationsRequest { assessmentArn: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface ListAlarmRecommendationsResponse { alarmRecommendations: AlarmRecommendation[] | undefined; nextToken?: string | undefined; } export interface ListAppAssessmentComplianceDriftsRequest { assessmentArn: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface ComplianceDrift { entityId?: string | undefined; entityType?: string | undefined; driftType?: DriftType | undefined; appId?: string | undefined; appVersion?: string | undefined; expectedReferenceId?: string | undefined; expectedValue?: Partial> | undefined; actualReferenceId?: string | undefined; actualValue?: Partial> | undefined; diffType?: DifferenceType | undefined; } export interface ListAppAssessmentComplianceDriftsResponse { complianceDrifts: ComplianceDrift[] | undefined; nextToken?: string | undefined; } export interface ListAppAssessmentResourceDriftsRequest { assessmentArn: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface ResourceIdentifier { logicalResourceId?: LogicalResourceId | undefined; resourceType?: string | undefined; } export interface ResourceDrift { appArn?: string | undefined; appVersion?: string | undefined; referenceId?: string | undefined; resourceIdentifier?: ResourceIdentifier | undefined; diffType?: DifferenceType | undefined; } export interface ListAppAssessmentResourceDriftsResponse { resourceDrifts: ResourceDrift[] | undefined; nextToken?: string | undefined; } export interface ListAppAssessmentsRequest { appArn?: string | undefined; assessmentName?: string | undefined; assessmentStatus?: AssessmentStatus[] | undefined; complianceStatus?: ComplianceStatus | undefined; invoker?: AssessmentInvoker | undefined; reverseOrder?: boolean | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface ListAppAssessmentsResponse { nextToken?: string | undefined; assessmentSummaries: AppAssessmentSummary[] | undefined; } export interface ListAppComponentCompliancesRequest { nextToken?: string | undefined; maxResults?: number | undefined; assessmentArn: string | undefined; } export interface ListAppComponentCompliancesResponse { componentCompliances: AppComponentCompliance[] | undefined; nextToken?: string | undefined; } export interface ListAppComponentRecommendationsRequest { assessmentArn: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface RecommendationDisruptionCompliance { expectedComplianceStatus: ComplianceStatus | undefined; expectedRtoInSecs?: number | undefined; expectedRtoDescription?: string | undefined; expectedRpoInSecs?: number | undefined; expectedRpoDescription?: string | undefined; } export interface ConfigRecommendation { cost?: Cost | undefined; appComponentName?: string | undefined; compliance?: Partial> | undefined; recommendationCompliance?: | Partial> | undefined; optimizationType: ConfigRecommendationOptimizationType | undefined; name: string | undefined; description?: string | undefined; suggestedChanges?: string[] | undefined; haArchitecture?: HaArchitecture | undefined; referenceId: string | undefined; } export interface ComponentRecommendation { appComponentName: string | undefined; recommendationStatus: RecommendationComplianceStatus | undefined; configRecommendations: ConfigRecommendation[] | undefined; } export interface ListAppComponentRecommendationsResponse { componentRecommendations: ComponentRecommendation[] | undefined; nextToken?: string | undefined; } export interface ListAppInputSourcesRequest { appArn: string | undefined; appVersion: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface ListAppInputSourcesResponse { appInputSources: AppInputSource[] | undefined; nextToken?: string | undefined; } export interface ListAppsRequest { nextToken?: string | undefined; maxResults?: number | undefined; name?: string | undefined; appArn?: string | undefined; fromLastAssessmentTime?: Date | undefined; toLastAssessmentTime?: Date | undefined; reverseOrder?: boolean | undefined; awsApplicationArn?: string | undefined; } export interface ListAppsResponse { appSummaries: AppSummary[] | undefined; nextToken?: string | undefined; } export interface ListAppVersionAppComponentsRequest { appArn: string | undefined; appVersion: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface ListAppVersionAppComponentsResponse { appArn: string | undefined; appVersion: string | undefined; appComponents?: AppComponent[] | undefined; nextToken?: string | undefined; } export interface ListAppVersionResourceMappingsRequest { appArn: string | undefined; appVersion: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface ListAppVersionResourceMappingsResponse { resourceMappings: ResourceMapping[] | undefined; nextToken?: string | undefined; } export interface ListAppVersionResourcesRequest { appArn: string | undefined; appVersion: string | undefined; resolutionId?: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface ListAppVersionResourcesResponse { physicalResources: PhysicalResource[] | undefined; resolutionId: string | undefined; nextToken?: string | undefined; } export interface ListAppVersionsRequest { appArn: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; startTime?: Date | undefined; endTime?: Date | undefined; } export interface ListAppVersionsResponse { appVersions: AppVersionSummary[] | undefined; nextToken?: string | undefined; } export interface Condition { field: string | undefined; operator: ConditionOperatorType | undefined; value?: string | undefined; } export interface Field { name: string | undefined; aggregation?: FieldAggregationType | undefined; } export interface Sort { field: string | undefined; ascending?: boolean | undefined; } export interface ListMetricsRequest { nextToken?: string | undefined; maxResults?: number | undefined; fields?: Field[] | undefined; dataSource?: string | undefined; conditions?: Condition[] | undefined; sorts?: Sort[] | undefined; } export interface ListMetricsResponse { rows: string[][] | undefined; nextToken?: string | undefined; } export interface ListRecommendationTemplatesRequest { assessmentArn?: string | undefined; reverseOrder?: boolean | undefined; status?: RecommendationTemplateStatus[] | undefined; recommendationTemplateArn?: string | undefined; name?: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface ListRecommendationTemplatesResponse { nextToken?: string | undefined; recommendationTemplates?: RecommendationTemplate[] | undefined; } export interface ListResiliencyPoliciesRequest { policyName?: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface ListResiliencyPoliciesResponse { resiliencyPolicies: ResiliencyPolicy[] | undefined; nextToken?: string | undefined; } export interface ListResourceGroupingRecommendationsRequest { appArn?: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface GroupingAppComponent { appComponentId: string | undefined; appComponentType: string | undefined; appComponentName: string | undefined; } export interface GroupingResource { resourceName: string | undefined; resourceType: string | undefined; physicalResourceId: PhysicalResourceId | undefined; logicalResourceId: LogicalResourceId | undefined; sourceAppComponentIds: string[] | undefined; } export interface GroupingRecommendation { groupingRecommendationId: string | undefined; groupingAppComponent: GroupingAppComponent | undefined; resources: GroupingResource[] | undefined; score: number | undefined; recommendationReasons: string[] | undefined; status: GroupingRecommendationStatusType | undefined; confidenceLevel: GroupingRecommendationConfidenceLevel | undefined; creationTime: Date | undefined; rejectionReason?: GroupingRecommendationRejectionReason | undefined; } export interface ListResourceGroupingRecommendationsResponse { groupingRecommendations: GroupingRecommendation[] | undefined; nextToken?: string | undefined; } export interface ListSopRecommendationsRequest { nextToken?: string | undefined; maxResults?: number | undefined; assessmentArn: string | undefined; } export interface SopRecommendation { serviceType: SopServiceType | undefined; appComponentName?: string | undefined; description?: string | undefined; recommendationId: string | undefined; name?: string | undefined; items?: RecommendationItem[] | undefined; referenceId: string | undefined; prerequisite?: string | undefined; recommendationStatus?: RecommendationStatus | undefined; } export interface ListSopRecommendationsResponse { nextToken?: string | undefined; sopRecommendations: SopRecommendation[] | undefined; } export interface ListSuggestedResiliencyPoliciesRequest { nextToken?: string | undefined; maxResults?: number | undefined; } export interface ListSuggestedResiliencyPoliciesResponse { resiliencyPolicies: ResiliencyPolicy[] | undefined; nextToken?: string | undefined; } export interface ListTagsForResourceRequest { resourceArn: string | undefined; } export interface ListTagsForResourceResponse { tags?: Record | undefined; } export interface ListTestRecommendationsRequest { nextToken?: string | undefined; maxResults?: number | undefined; assessmentArn: string | undefined; } export interface TestRecommendation { recommendationId?: string | undefined; referenceId: string | undefined; appComponentId?: string | undefined; appComponentName?: string | undefined; name?: string | undefined; intent?: string | undefined; risk?: TestRisk | undefined; type?: TestType | undefined; description?: string | undefined; items?: RecommendationItem[] | undefined; prerequisite?: string | undefined; dependsOnAlarms?: string[] | undefined; recommendationStatus?: RecommendationStatus | undefined; } export interface ListTestRecommendationsResponse { nextToken?: string | undefined; testRecommendations: TestRecommendation[] | undefined; } export interface ListUnsupportedAppVersionResourcesRequest { appArn: string | undefined; appVersion: string | undefined; resolutionId?: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface UnsupportedResource { logicalResourceId: LogicalResourceId | undefined; physicalResourceId: PhysicalResourceId | undefined; resourceType: string | undefined; unsupportedResourceStatus?: string | undefined; } export interface ListUnsupportedAppVersionResourcesResponse { unsupportedResources: UnsupportedResource[] | undefined; resolutionId: string | undefined; nextToken?: string | undefined; } export interface PublishAppVersionRequest { appArn: string | undefined; versionName?: string | undefined; } export interface PublishAppVersionResponse { appArn: string | undefined; appVersion?: string | undefined; identifier?: number | undefined; versionName?: string | undefined; } export interface PutDraftAppVersionTemplateRequest { appArn: string | undefined; appTemplateBody: string | undefined; } export interface PutDraftAppVersionTemplateResponse { appArn?: string | undefined; appVersion?: string | undefined; } export interface RejectGroupingRecommendationEntry { groupingRecommendationId: string | undefined; rejectionReason?: GroupingRecommendationRejectionReason | undefined; } export interface RejectResourceGroupingRecommendationsRequest { appArn: string | undefined; entries: RejectGroupingRecommendationEntry[] | undefined; } export interface RejectResourceGroupingRecommendationsResponse { appArn: string | undefined; failedEntries: FailedGroupingRecommendationEntry[] | undefined; } export interface RemoveDraftAppVersionResourceMappingsRequest { appArn: string | undefined; resourceNames?: string[] | undefined; logicalStackNames?: string[] | undefined; appRegistryAppNames?: string[] | undefined; resourceGroupNames?: string[] | undefined; terraformSourceNames?: string[] | undefined; eksSourceNames?: string[] | undefined; } export interface RemoveDraftAppVersionResourceMappingsResponse { appArn?: string | undefined; appVersion?: string | undefined; } export interface ResolveAppVersionResourcesRequest { appArn: string | undefined; appVersion: string | undefined; } export interface ResolveAppVersionResourcesResponse { appArn: string | undefined; appVersion: string | undefined; resolutionId: string | undefined; status: ResourceResolutionStatusType | undefined; } export interface StartAppAssessmentRequest { appArn: string | undefined; appVersion: string | undefined; assessmentName: string | undefined; clientToken?: string | undefined; tags?: Record | undefined; } export interface StartAppAssessmentResponse { assessment: AppAssessment | undefined; } export interface StartMetricsExportRequest { bucketName?: string | undefined; clientToken?: string | undefined; } export interface StartMetricsExportResponse { metricsExportId: string | undefined; status: MetricsExportStatusType | undefined; } export interface StartResourceGroupingRecommendationTaskRequest { appArn: string | undefined; } export interface StartResourceGroupingRecommendationTaskResponse { appArn: string | undefined; groupingId: string | undefined; status: ResourcesGroupingRecGenStatusType | undefined; errorMessage?: string | undefined; } export interface TagResourceRequest { resourceArn: string | undefined; tags: Record | undefined; } export interface TagResourceResponse {} export interface UntagResourceRequest { resourceArn: string | undefined; tagKeys: string[] | undefined; } export interface UntagResourceResponse {} export interface UpdateAppRequest { appArn: string | undefined; description?: string | undefined; policyArn?: string | undefined; clearResiliencyPolicyArn?: boolean | undefined; assessmentSchedule?: AppAssessmentScheduleType | undefined; permissionModel?: PermissionModel | undefined; eventSubscriptions?: EventSubscription[] | undefined; } export interface UpdateAppResponse { app: App | undefined; } export interface UpdateAppVersionRequest { appArn: string | undefined; additionalInfo?: Record | undefined; } export interface UpdateAppVersionResponse { appArn: string | undefined; appVersion: string | undefined; additionalInfo?: Record | undefined; } export interface UpdateAppVersionAppComponentRequest { appArn: string | undefined; id: string | undefined; name?: string | undefined; type?: string | undefined; additionalInfo?: Record | undefined; } export interface UpdateAppVersionAppComponentResponse { appArn: string | undefined; appVersion: string | undefined; appComponent?: AppComponent | undefined; } export interface UpdateAppVersionResourceRequest { appArn: string | undefined; resourceName?: string | undefined; logicalResourceId?: LogicalResourceId | undefined; physicalResourceId?: string | undefined; awsRegion?: string | undefined; awsAccountId?: string | undefined; resourceType?: string | undefined; appComponents?: string[] | undefined; additionalInfo?: Record | undefined; excluded?: boolean | undefined; } export interface UpdateAppVersionResourceResponse { appArn: string | undefined; appVersion: string | undefined; physicalResource?: PhysicalResource | undefined; } export interface UpdateResiliencyPolicyRequest { policyArn: string | undefined; policyName?: string | undefined; policyDescription?: string | undefined; dataLocationConstraint?: DataLocationConstraint | undefined; tier?: ResiliencyPolicyTier | undefined; policy?: Partial> | undefined; } export interface UpdateResiliencyPolicyResponse { policy: ResiliencyPolicy | undefined; }