namespace TeamCity.Docker.Model { using System; using System.Collections.Generic; using IoC; /// /// Describes "Variant" (configuration) of Docker Image - path to generated Dockerfile, path to its configuration ... /// ... file, parameters (variables) included into the Dockerfile. /// internal readonly struct Variant { [NotNull] public readonly string BuildPath; [NotNull] public readonly string ConfigFile; [NotNull] public readonly IEnumerable Variables; public Variant([NotNull] string buildPath, [NotNull] string configFile, [NotNull] IReadOnlyCollection variables) { BuildPath = buildPath ?? throw new ArgumentNullException(nameof(buildPath)); ConfigFile = configFile ?? throw new ArgumentNullException(nameof(configFile)); Variables = variables ?? throw new ArgumentNullException(nameof(variables)); } } }