private[input] def resolveDeployment()

in magenta-lib/src/main/scala/magenta/input/resolver/DeploymentResolver.scala [37:73]


  private[input] def resolveDeployment(
      label: String,
      templated: DeploymentOrTemplate,
      globalStacks: Option[List[String]],
      globalRegions: Option[List[String]],
      globalAllowedStages: Option[List[String]]
  ): Validated[ConfigErrors, PartiallyResolvedDeployment] = {
    (
      (
        Validated.fromOption(
          templated.`type`,
          ConfigErrors(label, "No type field provided")
        ),
        Validated.fromOption(
          templated.stacks.orElse(globalStacks).flatMap(NEL.fromList),
          ConfigErrors(label, "No stacks provided")
        ),
        Validated.fromOption(
          templated.regions.orElse(globalRegions).flatMap(NEL.fromList),
          ConfigErrors(label, "No regions provided")
        )
      )
    ).mapN { case (deploymentType, stacks, regions) =>
      PartiallyResolvedDeployment(
        name = label,
        `type` = deploymentType,
        stacks = stacks,
        regions = regions,
        allowedStages = globalAllowedStages.flatMap(NEL.fromList),
        actions = templated.actions.flatMap(NEL.fromList),
        app = templated.app.getOrElse(label),
        contentDirectory = templated.contentDirectory.getOrElse(label),
        dependencies = templated.dependencies.getOrElse(Nil),
        parameters = templated.parameters.getOrElse(Map.empty)
      )
    }
  }