import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Resource Type definition for AWS::Backup::RestoreTestingSelection
 */
export declare class RestoreTestingSelection extends pulumi.CustomResource {
    /**
     * Get an existing RestoreTestingSelection resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): RestoreTestingSelection;
    /**
     * Returns true if the given object is an instance of RestoreTestingSelection.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is RestoreTestingSelection;
    /**
     * The Amazon Resource Name (ARN) of the IAM role that AWS Backup uses to create the target resource; for example: `arn:aws:iam::123456789012:role/S3Access` .
     */
    readonly iamRoleArn: pulumi.Output<string>;
    /**
     * You can include specific ARNs, such as `ProtectedResourceArns: ["arn:aws:...", "arn:aws:..."]` or you can include a wildcard: `ProtectedResourceArns: ["*"]` , but not both.
     */
    readonly protectedResourceArns: pulumi.Output<string[] | undefined>;
    /**
     * In a resource testing selection, this parameter filters by specific conditions such as `StringEquals` or `StringNotEquals` .
     */
    readonly protectedResourceConditions: pulumi.Output<outputs.backup.RestoreTestingSelectionProtectedResourceConditions | undefined>;
    /**
     * The type of AWS resource included in a resource testing selection; for example, an Amazon EBS volume or an Amazon RDS database.
     */
    readonly protectedResourceType: pulumi.Output<string>;
    /**
     * You can override certain restore metadata keys by including the parameter `RestoreMetadataOverrides` in the body of `RestoreTestingSelection` . Key values are not case sensitive.
     *
     * See the complete list of [restore testing inferred metadata](https://docs.aws.amazon.com/aws-backup/latest/devguide/restore-testing-inferred-metadata.html) .
     */
    readonly restoreMetadataOverrides: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * Unique string that is the name of the restore testing plan.
     *
     * The name cannot be changed after creation. The name must consist of only alphanumeric characters and underscores. Maximum length is 50.
     */
    readonly restoreTestingPlanName: pulumi.Output<string>;
    /**
     * The unique name of the restore testing selection that belongs to the related restore testing plan.
     */
    readonly restoreTestingSelectionName: pulumi.Output<string>;
    /**
     * This is amount of hours (1 to 168) available to run a validation script on the data. The data will be deleted upon the completion of the validation script or the end of the specified retention period, whichever comes first.
     */
    readonly validationWindowHours: pulumi.Output<number | undefined>;
    /**
     * Create a RestoreTestingSelection resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: RestoreTestingSelectionArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a RestoreTestingSelection resource.
 */
export interface RestoreTestingSelectionArgs {
    /**
     * The Amazon Resource Name (ARN) of the IAM role that AWS Backup uses to create the target resource; for example: `arn:aws:iam::123456789012:role/S3Access` .
     */
    iamRoleArn: pulumi.Input<string>;
    /**
     * You can include specific ARNs, such as `ProtectedResourceArns: ["arn:aws:...", "arn:aws:..."]` or you can include a wildcard: `ProtectedResourceArns: ["*"]` , but not both.
     */
    protectedResourceArns?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * In a resource testing selection, this parameter filters by specific conditions such as `StringEquals` or `StringNotEquals` .
     */
    protectedResourceConditions?: pulumi.Input<inputs.backup.RestoreTestingSelectionProtectedResourceConditionsArgs>;
    /**
     * The type of AWS resource included in a resource testing selection; for example, an Amazon EBS volume or an Amazon RDS database.
     */
    protectedResourceType: pulumi.Input<string>;
    /**
     * You can override certain restore metadata keys by including the parameter `RestoreMetadataOverrides` in the body of `RestoreTestingSelection` . Key values are not case sensitive.
     *
     * See the complete list of [restore testing inferred metadata](https://docs.aws.amazon.com/aws-backup/latest/devguide/restore-testing-inferred-metadata.html) .
     */
    restoreMetadataOverrides?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    /**
     * Unique string that is the name of the restore testing plan.
     *
     * The name cannot be changed after creation. The name must consist of only alphanumeric characters and underscores. Maximum length is 50.
     */
    restoreTestingPlanName: pulumi.Input<string>;
    /**
     * The unique name of the restore testing selection that belongs to the related restore testing plan.
     */
    restoreTestingSelectionName?: pulumi.Input<string>;
    /**
     * This is amount of hours (1 to 168) available to run a validation script on the data. The data will be deleted upon the completion of the validation script or the end of the specified retention period, whichever comes first.
     */
    validationWindowHours?: pulumi.Input<number>;
}
