export interface AcceptGroupingRecommendationEntry {
    /** Indicates the identifier of the grouping recommendation. */
    groupingRecommendationId: string;
}
export interface ResourceMapping {
    /** Name of the resource that this resource is mapped to when the mappingType is Resource. */
    resourceName?: string;
    /** Name of the CloudFormation stack this resource is mapped to when the mappingType is CfnStack. */
    logicalStackName?: string;
    /** Name of the application this resource is mapped to when the mappingType is AppRegistryApp. */
    appRegistryAppName?: string;
    /** Name of the Resource Groups that this resource is mapped to when the mappingType is ResourceGroup. */
    resourceGroupName?: string;
    /** Specifies the type of resource mapping. */
    mappingType: 'CfnStack' | 'Resource' | 'AppRegistryApp' | 'ResourceGroup' | 'Terraform' | 'EKS';
    /** Identifier of the physical resource. */
    physicalResourceId: any;
    /** Name of the Terraform source that this resource is mapped to when the mappingType is Terraform. */
    terraformSourceName?: string;
    /** Name of the Amazon Elastic Kubernetes Service cluster and namespace that this resource is mapped to when the mappingType is EKS. This parameter accepts values in "eks-cluster/namespace" format. */
    eksSourceName?: string;
}
export interface UpdateRecommendationStatusRequestEntry {
    /** An identifier for an entry in this batch that is used to communicate the result. The entryIds of a batch request need to be unique within a request. */
    entryId: string;
    /** Reference identifier of the operational recommendation item. */
    referenceId: string;
    /** The operational recommendation item. */
    item?: any;
    /** Indicates if the operational recommendation needs to be excluded. If set to True, the operational recommendation will be excluded. */
    excluded: boolean;
    /** Indicates the identifier of the AppComponent. */
    appComponentId?: string;
    /** Indicates the reason for excluding an operational recommendation. */
    excludeReason?: 'AlreadyImplemented' | 'NotRelevant' | 'ComplexityOfImplementation';
}
export interface PermissionModel {
    /** Defines how Resilience Hub scans your resources. It can scan for the resources by using a pre-existing role in your Amazon Web Services account, or by using the credentials of the current IAM user. */
    type: 'LegacyIAMUser' | 'RoleBased';
    /** Existing Amazon Web Services IAM role name in the primary Amazon Web Services account that will be assumed by Resilience Hub Service Principle to obtain a read-only access to your application resource */
    invokerRoleName?: string;
    /** Defines a list of role Amazon Resource Names (ARNs) to be used in other accounts. These ARNs are used for querying purposes while importing resources and assessing your application. These ARNs are req */
    crossAccountRoleArns?: string[];
}
export interface EventSubscription {
    /** Unique name to identify an event subscription. */
    name: string;
    /** The type of event you would like to subscribe and get notification for. Currently, Resilience Hub supports notifications only for Drift detected (DriftDetected) and Scheduled assessment failure (Sched */
    eventType: 'ScheduledAssessmentFailure' | 'DriftDetected';
    /** Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic. The format for this ARN is: arn:partition:sns:region:account:topic-name. For more information about ARNs, see Amazon Resourc */
    snsTopicArn?: string;
}
export interface LogicalResourceId {
    /** Identifier of the resource. */
    identifier: string;
    /** The name of the CloudFormation stack this resource belongs to. */
    logicalStackName?: string;
    /** The name of the resource group that this resource belongs to. */
    resourceGroupName?: string;
    /** The name of the Terraform S3 state file this resource belongs to. */
    terraformSourceName?: string;
    /** Name of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to. This parameter accepts values in "eks-cluster/namespace" format. */
    eksSourceName?: string;
}
export interface FailurePolicy {
    /** Recovery Time Objective (RTO) in seconds. */
    rtoInSecs: number;
    /** Recovery Point Objective (RPO) in seconds. */
    rpoInSecs: number;
}
export interface TerraformSource {
    /** The URL of the Terraform s3 state file you need to import. */
    s3StateFileUrl: string;
}
export interface EksSourceClusterNamespace {
    /** Amazon Resource Name (ARN) of the Amazon Elastic Kubernetes Service cluster. The format for this ARN is: arn:aws:eks:region:account-id:cluster/cluster-name. For more information about ARNs, see Amazon */
    eksClusterArn: string;
    /** Name of the namespace that is located on your Amazon Elastic Kubernetes Service cluster. */
    namespace: string;
}
export interface EksSource {
    /** Amazon Resource Name (ARN) of the Amazon Elastic Kubernetes Service cluster. The format for this ARN is: arn:aws:eks:region:account-id:cluster/cluster-name. For more information about ARNs, see Amazon */
    eksClusterArn: string;
    /** The list of namespaces located on your Amazon Elastic Kubernetes Service cluster. */
    namespaces: any[];
}
export interface Field {
    /** Name of the field. */
    name: string;
    /** (Optional) Indicates the type of aggregation or summary operation (such as Sum, Average, and so on) to be performed on a particular field or set of data. */
    aggregation?: 'Min' | 'Max' | 'Sum' | 'Avg' | 'Count';
}
export interface Condition {
    /** Indicates the field in the metric. */
    field: string;
    /** Indicates the type of operator or comparison to be used when evaluating a condition against the specified field. */
    operator: 'Equals' | 'NotEquals' | 'GreaterThen' | 'GreaterOrEquals' | 'LessThen' | 'LessOrEquals';
    /** Indicates the value or data against which a condition is evaluated. */
    value?: string;
}
export interface Sort {
    /** Indicates the order in which you want to sort the metrics. By default, the list is sorted in ascending order. To sort the list in descending order, set this field to False. */
    field: string;
    /** Indicates the name or identifier of the field or attribute that should be used as the basis for sorting the metrics. */
    ascending?: boolean;
}
export interface RejectGroupingRecommendationEntry {
    /** Indicates the identifier of the grouping recommendation. */
    groupingRecommendationId: string;
    /** Indicates the reason you had selected while rejecting a grouping recommendation. */
    rejectionReason?: 'DistinctBusinessPurpose' | 'SeparateDataConcern' | 'DistinctUserGroupHandling' | 'Other';
}
export interface AcceptResourceGroupingRecommendationsInput {
    /** 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 Na */
    appArn: string;
    /** List of resource grouping recommendations you want to include in your application. */
    entries: AcceptGroupingRecommendationEntry[];
}
export interface AddDraftAppVersionResourceMappingsInput {
    /** 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 Na */
    appArn: string;
    /** Mappings used to map logical resources from the template to physical resources. You can use the mapping type CFN_STACK if the application template uses a logical stack name. Or you can map individual  */
    resourceMappings: ResourceMapping[];
}
export interface BatchUpdateRecommendationStatusInput {
    /** 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 Na */
    appArn: string;
    /** Defines the list of operational recommendations that need to be included or excluded. */
    requestEntries: UpdateRecommendationStatusRequestEntry[];
}
export interface CreateAppInput {
    /** Name of the application. */
    name: string;
    /** Assessment execution schedule with 'Daily' or 'Disabled' values. */
    assessmentSchedule?: 'Disabled' | 'Daily';
    /** Amazon Resource Name (ARN) of Resource Groups group that is integrated with an AppRegistry application. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services Gen */
    awsApplicationArn?: string;
    /** 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. */
    clientToken?: string;
    /** The optional description for an app. */
    description?: string;
    /** The list of events you would like to subscribe and get notification for. Currently, Resilience Hub supports only Drift detected and Scheduled assessment failure events notification. */
    eventSubscriptions?: EventSubscription[];
    /** Defines the roles and credentials that Resilience Hub would use while creating the application, importing its resources, and running an assessment. */
    permissionModel?: PermissionModel;
    /** Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Res */
    policyArn?: string;
    /** 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. */
    tags?: Record<string, string>;
}
export interface CreateAppVersionAppComponentInput {
    /** 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 Na */
    appArn: string;
    /** Name of the Application Component. */
    name: string;
    /** Type of Application Component. For more information about the types of Application Component, see Grouping resources in an AppComponent. */
    type: string;
    /** Currently, there is no supported additional information for Application Components. */
    additionalInfo?: Record<string, string[]>;
    /** 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. */
    clientToken?: string;
    /** Identifier of the Application Component. */
    id?: string;
}
export interface CreateAppVersionResourceInput {
    /** 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 Na */
    appArn: string;
    /** List of Application Components that this resource belongs to. If an Application Component is not part of the Resilience Hub application, it will be added. */
    appComponents: string[];
    /** Logical identifier of the resource. */
    logicalResourceId: LogicalResourceId;
    /** Physical identifier of the resource. */
    physicalResourceId: string;
    /** Type of resource. */
    resourceType: string;
    /** Currently, there is no supported additional information for resources. */
    additionalInfo?: Record<string, string[]>;
    /** Amazon Web Services account that owns the physical resource. */
    awsAccountId?: string;
    /** Amazon Web Services region that owns the physical resource. */
    awsRegion?: string;
    /** 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. */
    clientToken?: string;
    /** Name of the resource. */
    resourceName?: string;
}
export interface CreateRecommendationTemplateInput {
    /** Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names ( */
    assessmentArn: string;
    /** The name for the recommendation template. */
    name: string;
    /** The name of the Amazon S3 bucket that will contain the recommendation template. */
    bucketName?: string;
    /** 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. */
    clientToken?: string;
    /** The format for the recommendation template. CfnJson The template is CloudFormation JSON. CfnYaml The template is CloudFormation YAML. */
    format?: 'CfnYaml' | 'CfnJson';
    /** Identifiers for the recommendations used to create a recommendation template. */
    recommendationIds?: string[];
    /** An array of strings that specify the recommendation template type or types. Alarm The template is an AlarmRecommendation template. Sop The template is a SopRecommendation template. Test The template i */
    recommendationTypes?: 'Alarm' | 'Sop' | 'Test'[];
    /** 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. */
    tags?: Record<string, string>;
}
export interface CreateResiliencyPolicyInput {
    /** The type of resiliency policy to be created, including the recovery time objective (RTO) and recovery point objective (RPO) in seconds. */
    policy: Record<string, FailurePolicy>;
    /** Name of the resiliency policy. */
    policyName: string;
    /** The tier for this resiliency policy, ranging from the highest severity (MissionCritical) to lowest (NonCritical). */
    tier: 'MissionCritical' | 'Critical' | 'Important' | 'CoreServices' | 'NonCritical' | 'NotApplicable';
    /** 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. */
    clientToken?: string;
    /** Specifies a high-level geographical location constraint for where your resilience policy data can be stored. */
    dataLocationConstraint?: 'AnyLocation' | 'SameContinent' | 'SameCountry';
    /** Description of the resiliency policy. */
    policyDescription?: string;
    /** 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. */
    tags?: Record<string, string>;
}
export interface DeleteAppInput {
    /** 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 Na */
    appArn: string;
    /** 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. */
    clientToken?: string;
    /** A boolean option to force the deletion of an Resilience Hub application. */
    forceDelete?: boolean;
}
export interface DeleteAppAssessmentInput {
    /** Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names ( */
    assessmentArn: string;
    /** 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. */
    clientToken?: string;
}
export interface DeleteAppInputSourceInput {
    /** 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 Na */
    appArn: string;
    /** 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. */
    clientToken?: string;
    /** The namespace on your Amazon Elastic Kubernetes Service cluster that you want to delete from the Resilience Hub application. */
    eksSourceClusterNamespace?: EksSourceClusterNamespace;
    /** The Amazon Resource Name (ARN) of the imported resource you want to remove from the Resilience Hub application. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Serv */
    sourceArn?: string;
    /** The imported Terraform s3 state ﬁle you want to remove from the Resilience Hub application. */
    terraformSource?: TerraformSource;
}
export interface DeleteAppVersionAppComponentInput {
    /** 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 Na */
    appArn: string;
    /** Identifier of the Application Component. */
    id: string;
    /** 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. */
    clientToken?: string;
}
export interface DeleteAppVersionResourceInput {
    /** 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 Na */
    appArn: string;
    /** Amazon Web Services account that owns the physical resource. */
    awsAccountId?: string;
    /** Amazon Web Services region that owns the physical resource. */
    awsRegion?: string;
    /** 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. */
    clientToken?: string;
    /** Logical identifier of the resource. */
    logicalResourceId?: LogicalResourceId;
    /** Physical identifier of the resource. */
    physicalResourceId?: string;
    /** Name of the resource. */
    resourceName?: string;
}
export interface DeleteRecommendationTemplateInput {
    /** The Amazon Resource Name (ARN) for a recommendation template. */
    recommendationTemplateArn: string;
    /** 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. */
    clientToken?: string;
}
export interface DeleteResiliencyPolicyInput {
    /** Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Res */
    policyArn: string;
    /** 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. */
    clientToken?: string;
}
export interface DescribeAppInput {
    /** 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 Na */
    appArn: string;
}
export interface DescribeAppAssessmentInput {
    /** Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names ( */
    assessmentArn: string;
}
export interface DescribeAppVersionInput {
    /** 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 Na */
    appArn: string;
    /** Resilience Hub application version. */
    appVersion: string;
}
export interface DescribeAppVersionAppComponentInput {
    /** 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 Na */
    appArn: string;
    /** Resilience Hub application version. */
    appVersion: string;
    /** Identifier of the Application Component. */
    id: string;
}
export interface DescribeAppVersionResourceInput {
    /** 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 Na */
    appArn: string;
    /** Resilience Hub application version. */
    appVersion: string;
    /** Amazon Web Services account that owns the physical resource. */
    awsAccountId?: string;
    /** Amazon Web Services region that owns the physical resource. */
    awsRegion?: string;
    /** Logical identifier of the resource. */
    logicalResourceId?: LogicalResourceId;
    /** Physical identifier of the resource. */
    physicalResourceId?: string;
    /** Name of the resource. */
    resourceName?: string;
}
export interface DescribeAppVersionResourcesResolutionStatusInput {
    /** 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 Na */
    appArn: string;
    /** The version of the application. */
    appVersion: string;
    /** The identifier for a specific resolution. */
    resolutionId?: string;
}
export interface DescribeAppVersionTemplateInput {
    /** 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 Na */
    appArn: string;
    /** The version of the application. */
    appVersion: string;
}
export interface DescribeDraftAppVersionResourcesImportStatusInput {
    /** 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 Na */
    appArn: string;
}
export interface DescribeMetricsExportInput {
    /** Identifier of the metrics export task. */
    metricsExportId: string;
}
export interface DescribeResiliencyPolicyInput {
    /** Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Res */
    policyArn: string;
}
export interface DescribeResourceGroupingRecommendationTaskInput {
    /** 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 Na */
    appArn: string;
    /** Identifier of the grouping recommendation task. */
    groupingId?: string;
}
export interface ImportResourcesToDraftAppVersionInput {
    /** 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 Na */
    appArn: string;
    /** The input sources of the Amazon Elastic Kubernetes Service resources you need to import. */
    eksSources?: EksSource[];
    /** The import strategy you would like to set to import resources into Resilience Hub application. */
    importStrategy?: 'AddOnly' | 'ReplaceAll';
    /** The Amazon Resource Names (ARNs) for the resources. */
    sourceArns?: string[];
    /** A list of terraform file s3 URLs you need to import. */
    terraformSources?: TerraformSource[];
}
export interface ListAlarmRecommendationsInput {
    /** Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names ( */
    assessmentArn: string;
    /** Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    maxResults?: number;
    /** Null, or the token from a previous call to get the next set of results. */
    nextToken?: string;
}
export interface ListAppAssessmentComplianceDriftsInput {
    /** Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names ( */
    assessmentArn: string;
    /** Maximum number of compliance drifts requested. */
    maxResults?: number;
    /** Null, or the token from a previous call to get the next set of results. */
    nextToken?: string;
}
export interface ListAppAssessmentResourceDriftsInput {
    /** Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names ( */
    assessmentArn: string;
    /** Maximum number of drift results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieve */
    maxResults?: number;
    /** Null, or the token from a previous call to get the next set of results. */
    nextToken?: string;
}
export interface ListAppAssessmentsInput {
    /** 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 Na */
    appArn?: string;
    /** The name for the assessment. */
    assessmentName?: string;
    /** The current status of the assessment for the resiliency policy. */
    assessmentStatus?: 'Pending' | 'InProgress' | 'Failed' | 'Success'[];
    /** The current status of compliance for the resiliency policy. */
    complianceStatus?: 'PolicyBreached' | 'PolicyMet' | 'NotApplicable' | 'MissingPolicy';
    /** Specifies the entity that invoked a specific assessment, either a User or the System. */
    invoker?: 'User' | 'System';
    /** Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    maxResults?: number;
    /** Null, or the token from a previous call to get the next set of results. */
    nextToken?: string;
    /** The default is to sort by ascending startTime. To sort by descending startTime, set reverseOrder to true. */
    reverseOrder?: boolean;
}
export interface ListAppComponentCompliancesInput {
    /** Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names ( */
    assessmentArn: string;
    /** Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    maxResults?: number;
    /** Null, or the token from a previous call to get the next set of results. */
    nextToken?: string;
}
export interface ListAppComponentRecommendationsInput {
    /** Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names ( */
    assessmentArn: string;
    /** Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    maxResults?: number;
    /** Null, or the token from a previous call to get the next set of results. */
    nextToken?: string;
}
export interface ListAppInputSourcesInput {
    /** 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 Na */
    appArn: string;
    /** Resilience Hub application version. */
    appVersion: string;
    /** Maximum number of input sources to be displayed per Resilience Hub application. */
    maxResults?: number;
    /** Null, or the token from a previous call to get the next set of results. */
    nextToken?: string;
}
export interface ListAppsInput {
    /** 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 Na */
    appArn?: string;
    /** Amazon Resource Name (ARN) of Resource Groups group that is integrated with an AppRegistry application. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services Gen */
    awsApplicationArn?: string;
    /** Lower limit of the range that is used to filter applications based on their last assessment times. */
    fromLastAssessmentTime?: string;
    /** Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    maxResults?: number;
    /** The name for the one of the listed applications. */
    name?: string;
    /** Null, or the token from a previous call to get the next set of results. */
    nextToken?: string;
    /** The application list is sorted based on the values of lastAppComplianceEvaluationTime field. By default, application list is sorted in ascending order. To sort the application list in descending order */
    reverseOrder?: boolean;
    /** Upper limit of the range that is used to filter the applications based on their last assessment times. */
    toLastAssessmentTime?: string;
}
export interface ListAppVersionAppComponentsInput {
    /** 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 Na */
    appArn: string;
    /** Version of the Application Component. */
    appVersion: string;
    /** Maximum number of Application Components to be displayed per Resilience Hub application version. */
    maxResults?: number;
    /** Null, or the token from a previous call to get the next set of results. */
    nextToken?: string;
}
export interface ListAppVersionResourceMappingsInput {
    /** 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 Na */
    appArn: string;
    /** The version of the application. */
    appVersion: string;
    /** Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    maxResults?: number;
    /** Null, or the token from a previous call to get the next set of results. */
    nextToken?: string;
}
export interface ListAppVersionResourcesInput {
    /** 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 Na */
    appArn: string;
    /** The version of the application. */
    appVersion: string;
    /** Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    maxResults?: number;
    /** Null, or the token from a previous call to get the next set of results. */
    nextToken?: string;
    /** The identifier for a specific resolution. */
    resolutionId?: string;
}
export interface ListAppVersionsInput {
    /** 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 Na */
    appArn: string;
    /** Upper limit of the time range to filter the application versions. */
    endTime?: string;
    /** Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    maxResults?: number;
    /** Null, or the token from a previous call to get the next set of results. */
    nextToken?: string;
    /** Lower limit of the time range to filter the application versions. */
    startTime?: string;
}
export interface ListMetricsInput {
    /** Indicates the list of all the conditions that were applied on the metrics. */
    conditions?: Condition[];
    /** Indicates the data source of the metrics. */
    dataSource?: string;
    /** Indicates the list of fields in the data source. */
    fields?: Field[];
    /** Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    maxResults?: number;
    /** Null, or the token from a previous call to get the next set of results. */
    nextToken?: string;
    /** (Optional) Indicates the order in which you want to sort the fields in the metrics. By default, the fields are sorted in the ascending order. */
    sorts?: Sort[];
}
export interface ListRecommendationTemplatesInput {
    /** Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names ( */
    assessmentArn?: string;
    /** Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    maxResults?: number;
    /** The name for one of the listed recommendation templates. */
    name?: string;
    /** Null, or the token from a previous call to get the next set of results. */
    nextToken?: string;
    /** The Amazon Resource Name (ARN) for a recommendation template. */
    recommendationTemplateArn?: string;
    /** The default is to sort by ascending startTime. To sort by descending startTime, set reverseOrder to true. */
    reverseOrder?: boolean;
    /** Status of the action. */
    status?: 'Pending' | 'InProgress' | 'Failed' | 'Success'[];
}
export interface ListResiliencyPoliciesInput {
    /** Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    maxResults?: number;
    /** Null, or the token from a previous call to get the next set of results. */
    nextToken?: string;
    /** Name of the resiliency policy. */
    policyName?: string;
}
export interface ListResourceGroupingRecommendationsInput {
    /** 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 Na */
    appArn?: string;
    /** Maximum number of grouping recommendations to be displayed per Resilience Hub application. */
    maxResults?: number;
    /** Null, or the token from a previous call to get the next set of results. */
    nextToken?: string;
}
export interface ListSopRecommendationsInput {
    /** Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names ( */
    assessmentArn: string;
    /** Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    maxResults?: number;
    /** Null, or the token from a previous call to get the next set of results. */
    nextToken?: string;
}
export interface ListSuggestedResiliencyPoliciesInput {
    /** Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    maxResults?: number;
    /** Null, or the token from a previous call to get the next set of results. */
    nextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) for a specific resource in your Resilience Hub application. */
    resourceArn: string;
}
export interface ListTestRecommendationsInput {
    /** Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names ( */
    assessmentArn: string;
    /** Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    maxResults?: number;
    /** Null, or the token from a previous call to get the next set of results. */
    nextToken?: string;
}
export interface ListUnsupportedAppVersionResourcesInput {
    /** 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 Na */
    appArn: string;
    /** The version of the application. */
    appVersion: string;
    /** Maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. */
    maxResults?: number;
    /** Null, or the token from a previous call to get the next set of results. */
    nextToken?: string;
    /** The identifier for a specific resolution. */
    resolutionId?: string;
}
export interface PublishAppVersionInput {
    /** 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 Na */
    appArn: string;
    /** Name of the application version. */
    versionName?: string;
}
export interface PutDraftAppVersionTemplateInput {
    /** 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 Na */
    appArn: string;
    /** A JSON string that provides information about your application structure. To learn more about the appTemplateBody template, see the sample template provided in the Examples section. The appTemplateBod */
    appTemplateBody: string;
}
export interface RejectResourceGroupingRecommendationsInput {
    /** 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 Na */
    appArn: string;
    /** List of resource grouping recommendations you have selected to exclude from your application. */
    entries: RejectGroupingRecommendationEntry[];
}
export interface RemoveDraftAppVersionResourceMappingsInput {
    /** 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 Na */
    appArn: string;
    /** The names of the registered applications you want to remove from the resource mappings. */
    appRegistryAppNames?: string[];
    /** The names of the Amazon Elastic Kubernetes Service clusters and namespaces you want to remove from the resource mappings. This parameter accepts values in "eks-cluster/namespace" format. */
    eksSourceNames?: string[];
    /** The names of the CloudFormation stacks you want to remove from the resource mappings. */
    logicalStackNames?: string[];
    /** The names of the resource groups you want to remove from the resource mappings. */
    resourceGroupNames?: string[];
    /** The names of the resources you want to remove from the resource mappings. */
    resourceNames?: string[];
    /** The names of the Terraform sources you want to remove from the resource mappings. */
    terraformSourceNames?: string[];
}
export interface ResolveAppVersionResourcesInput {
    /** 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 Na */
    appArn: string;
    /** The version of the application. */
    appVersion: string;
}
export interface StartAppAssessmentInput {
    /** 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 Na */
    appArn: string;
    /** The version of the application. */
    appVersion: string;
    /** The name for the assessment. */
    assessmentName: string;
    /** 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. */
    clientToken?: string;
    /** 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. */
    tags?: Record<string, string>;
}
export interface StartMetricsExportInput {
    /** (Optional) Specifies the name of the Amazon Simple Storage Service bucket where the exported metrics will be stored. */
    bucketName?: string;
    /** 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. */
    clientToken?: string;
}
export interface StartResourceGroupingRecommendationTaskInput {
    /** 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 Na */
    appArn: string;
}
export interface TagResourceInput {
    /** Amazon Resource Name (ARN) of the resource. */
    resourceArn: string;
    /** The tags to assign to the resource. Each tag consists of a key/value pair. */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** Amazon Resource Name (ARN) of the resource. */
    resourceArn: string;
    /** The keys of the tags you want to remove. */
    tagKeys: string[];
}
export interface UpdateAppInput {
    /** 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 Na */
    appArn: string;
    /** Assessment execution schedule with 'Daily' or 'Disabled' values. */
    assessmentSchedule?: 'Disabled' | 'Daily';
    /** Specifies if the resiliency policy ARN should be cleared. */
    clearResiliencyPolicyArn?: boolean;
    /** The optional description for an app. */
    description?: string;
    /** The list of events you would like to subscribe and get notification for. Currently, Resilience Hub supports notifications only for Drift detected and Scheduled assessment failure events. */
    eventSubscriptions?: EventSubscription[];
    /** Defines the roles and credentials that Resilience Hub would use while creating an application, importing its resources, and running an assessment. */
    permissionModel?: PermissionModel;
    /** Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Res */
    policyArn?: string;
}
export interface UpdateAppVersionInput {
    /** 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 Na */
    appArn: string;
    /** Additional configuration parameters for an Resilience Hub application. If you want to implement additionalInfo through the Resilience Hub console rather than using an API call, see Configure the appli */
    additionalInfo?: Record<string, string[]>;
}
export interface UpdateAppVersionAppComponentInput {
    /** 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 Na */
    appArn: string;
    /** Identifier of the Application Component. */
    id: string;
    /** Currently, there is no supported additional information for Application Components. */
    additionalInfo?: Record<string, string[]>;
    /** Name of the Application Component. */
    name?: string;
    /** Type of Application Component. For more information about the types of Application Component, see Grouping resources in an AppComponent. */
    type?: string;
}
export interface UpdateAppVersionResourceInput {
    /** 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 Na */
    appArn: string;
    /** Currently, there is no supported additional information for resources. */
    additionalInfo?: Record<string, string[]>;
    /** List of Application Components that this resource belongs to. If an Application Component is not part of the Resilience Hub application, it will be added. */
    appComponents?: string[];
    /** Amazon Web Services account that owns the physical resource. */
    awsAccountId?: string;
    /** Amazon Web Services region that owns the physical resource. */
    awsRegion?: string;
    /** Indicates if a resource is excluded from an Resilience Hub application. You can exclude only imported resources from an Resilience Hub application. */
    excluded?: boolean;
    /** Logical identifier of the resource. */
    logicalResourceId?: LogicalResourceId;
    /** Physical identifier of the resource. */
    physicalResourceId?: string;
    /** Name of the resource. */
    resourceName?: string;
    /** Type of resource. */
    resourceType?: string;
}
export interface UpdateResiliencyPolicyInput {
    /** Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Res */
    policyArn: string;
    /** Specifies a high-level geographical location constraint for where your resilience policy data can be stored. */
    dataLocationConstraint?: 'AnyLocation' | 'SameContinent' | 'SameCountry';
    /** Resiliency policy to be created, including the recovery time objective (RTO) and recovery point objective (RPO) in seconds. */
    policy?: Record<string, FailurePolicy>;
    /** Description of the resiliency policy. */
    policyDescription?: string;
    /** Name of the resiliency policy. */
    policyName?: string;
    /** The tier for this resiliency policy, ranging from the highest severity (MissionCritical) to lowest (NonCritical). */
    tier?: 'MissionCritical' | 'Critical' | 'Important' | 'CoreServices' | 'NonCritical' | 'NotApplicable';
}
/** resiliencehub service binding for Step Functions SDK integrations. */
export declare class resiliencehub {
    constructor();
    acceptResourceGroupingRecommendations<T>(params: AcceptResourceGroupingRecommendationsInput): Promise<T>;
    addDraftAppVersionResourceMappings<T>(params: AddDraftAppVersionResourceMappingsInput): Promise<T>;
    batchUpdateRecommendationStatus<T>(params: BatchUpdateRecommendationStatusInput): Promise<T>;
    createApp<T>(params: CreateAppInput): Promise<T>;
    createAppVersionAppComponent<T>(params: CreateAppVersionAppComponentInput): Promise<T>;
    createAppVersionResource<T>(params: CreateAppVersionResourceInput): Promise<T>;
    createRecommendationTemplate<T>(params: CreateRecommendationTemplateInput): Promise<T>;
    createResiliencyPolicy<T>(params: CreateResiliencyPolicyInput): Promise<T>;
    deleteApp<T>(params: DeleteAppInput): Promise<T>;
    deleteAppAssessment<T>(params: DeleteAppAssessmentInput): Promise<T>;
    deleteAppInputSource<T>(params: DeleteAppInputSourceInput): Promise<T>;
    deleteAppVersionAppComponent<T>(params: DeleteAppVersionAppComponentInput): Promise<T>;
    deleteAppVersionResource<T>(params: DeleteAppVersionResourceInput): Promise<T>;
    deleteRecommendationTemplate<T>(params: DeleteRecommendationTemplateInput): Promise<T>;
    deleteResiliencyPolicy<T>(params: DeleteResiliencyPolicyInput): Promise<T>;
    describeApp<T>(params: DescribeAppInput): Promise<T>;
    describeAppAssessment<T>(params: DescribeAppAssessmentInput): Promise<T>;
    describeAppVersion<T>(params: DescribeAppVersionInput): Promise<T>;
    describeAppVersionAppComponent<T>(params: DescribeAppVersionAppComponentInput): Promise<T>;
    describeAppVersionResource<T>(params: DescribeAppVersionResourceInput): Promise<T>;
    describeAppVersionResourcesResolutionStatus<T>(params: DescribeAppVersionResourcesResolutionStatusInput): Promise<T>;
    describeAppVersionTemplate<T>(params: DescribeAppVersionTemplateInput): Promise<T>;
    describeDraftAppVersionResourcesImportStatus<T>(params: DescribeDraftAppVersionResourcesImportStatusInput): Promise<T>;
    describeMetricsExport<T>(params: DescribeMetricsExportInput): Promise<T>;
    describeResiliencyPolicy<T>(params: DescribeResiliencyPolicyInput): Promise<T>;
    describeResourceGroupingRecommendationTask<T>(params: DescribeResourceGroupingRecommendationTaskInput): Promise<T>;
    importResourcesToDraftAppVersion<T>(params: ImportResourcesToDraftAppVersionInput): Promise<T>;
    listAlarmRecommendations<T>(params: ListAlarmRecommendationsInput): Promise<T>;
    listAppAssessmentComplianceDrifts<T>(params: ListAppAssessmentComplianceDriftsInput): Promise<T>;
    listAppAssessmentResourceDrifts<T>(params: ListAppAssessmentResourceDriftsInput): Promise<T>;
    listAppAssessments<T>(params: ListAppAssessmentsInput): Promise<T>;
    listAppComponentCompliances<T>(params: ListAppComponentCompliancesInput): Promise<T>;
    listAppComponentRecommendations<T>(params: ListAppComponentRecommendationsInput): Promise<T>;
    listAppInputSources<T>(params: ListAppInputSourcesInput): Promise<T>;
    listApps<T>(params: ListAppsInput): Promise<T>;
    listAppVersionAppComponents<T>(params: ListAppVersionAppComponentsInput): Promise<T>;
    listAppVersionResourceMappings<T>(params: ListAppVersionResourceMappingsInput): Promise<T>;
    listAppVersionResources<T>(params: ListAppVersionResourcesInput): Promise<T>;
    listAppVersions<T>(params: ListAppVersionsInput): Promise<T>;
    listMetrics<T>(params: ListMetricsInput): Promise<T>;
    listRecommendationTemplates<T>(params: ListRecommendationTemplatesInput): Promise<T>;
    listResiliencyPolicies<T>(params: ListResiliencyPoliciesInput): Promise<T>;
    listResourceGroupingRecommendations<T>(params: ListResourceGroupingRecommendationsInput): Promise<T>;
    listSopRecommendations<T>(params: ListSopRecommendationsInput): Promise<T>;
    listSuggestedResiliencyPolicies<T>(params: ListSuggestedResiliencyPoliciesInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    listTestRecommendations<T>(params: ListTestRecommendationsInput): Promise<T>;
    listUnsupportedAppVersionResources<T>(params: ListUnsupportedAppVersionResourcesInput): Promise<T>;
    publishAppVersion<T>(params: PublishAppVersionInput): Promise<T>;
    putDraftAppVersionTemplate<T>(params: PutDraftAppVersionTemplateInput): Promise<T>;
    rejectResourceGroupingRecommendations<T>(params: RejectResourceGroupingRecommendationsInput): Promise<T>;
    removeDraftAppVersionResourceMappings<T>(params: RemoveDraftAppVersionResourceMappingsInput): Promise<T>;
    resolveAppVersionResources<T>(params: ResolveAppVersionResourcesInput): Promise<T>;
    startAppAssessment<T>(params: StartAppAssessmentInput): Promise<T>;
    startMetricsExport<T>(params: StartMetricsExportInput): Promise<T>;
    startResourceGroupingRecommendationTask<T>(params: StartResourceGroupingRecommendationTaskInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateApp<T>(params: UpdateAppInput): Promise<T>;
    updateAppVersion<T>(params: UpdateAppVersionInput): Promise<T>;
    updateAppVersionAppComponent<T>(params: UpdateAppVersionAppComponentInput): Promise<T>;
    updateAppVersionResource<T>(params: UpdateAppVersionResourceInput): Promise<T>;
    updateResiliencyPolicy<T>(params: UpdateResiliencyPolicyInput): Promise<T>;
}
//# sourceMappingURL=resiliencehub.d.ts.map