// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
using System.Threading.Tasks;
namespace AWS.Deploy.Common.Recipes.Validation
{
///
/// This interface outlines the framework for validators.
/// Validators such as implement this interface and provide custom validation logic
/// on OptionSettingItems
///
public interface IOptionSettingItemValidator
{
///
/// Validates an override value for an
///
/// Raw input for an option
/// Selected recommendation, which may be used if the validator needs to consider properties other than itself
/// Selected option setting item, which may be used if the validator needs to consider properties other than itself
/// Whether or not the input is valid
Task Validate(object input, Recommendation recommendation, OptionSettingItem optionSettingItem);
}
}