edge-agent/src/Microsoft.Azure.Devices.Edge.Agent.Core/IPlanner.cs (10 lines of code) (raw):

// Copyright (c) Microsoft. All rights reserved. namespace Microsoft.Azure.Devices.Edge.Agent.Core { using System.Collections.Immutable; using System.Threading.Tasks; /// <summary> /// Allows the deployment strategy to be abstracted. /// </summary> public interface IPlanner { Task<Plan> PlanAsync(ModuleSet desired, ModuleSet current, IRuntimeInfo runtimeInfo, IImmutableDictionary<string, IModuleIdentity> moduleIdentities); Task<Plan> CreateShutdownPlanAsync(ModuleSet modules); } }