// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 using System.Collections.Generic; using System.Threading.Tasks; using AWS.Deploy.Common.Recipes.Validation; namespace AWS.Deploy.Common.Recipes { public interface IRecipeHandler { /// /// Retrieves all the that are defined by the system as well as any other recipes that are retrieved from an external source. /// Task> GetRecipeDefinitions(List? recipeDefinitionPaths = null); /// /// Wrapper method to fetch custom recipe definition paths from a deployment-manifest file as well as /// other locations that are monitored by the same source control root as the target application that needs to be deployed. /// Task> LocateCustomRecipePaths(ProjectDefinition projectDefinition); /// /// Wrapper method to fetch custom recipe definition paths from a deployment-manifest file as well as /// other locations that are monitored by the same source control root as the target application that needs to be deployed. /// Task> LocateCustomRecipePaths(string targetApplicationFullPath, string solutionDirectoryPath); /// /// Runs the recipe level validators and returns a list of failed validations /// List RunRecipeValidators(Recommendation recommendation, IDeployToolValidationContext deployToolValidationContext); } }