private SolutionPackage buildDmMultiVm()

in java/com/google/cloud/deploymentmanager/autogen/Autogen.java [370:436]


  private SolutionPackage buildDmMultiVm(
      DeploymentPackageInput input, SharedSupportFilesStrategy sharedSupportFilesStrategy) {
    SolutionPackage.Builder builder = SolutionPackage.newBuilder();
    String solutionId = input.getSolutionId();
    ImageInfo imageInfo = generateImages(input, builder);
    MultiVmDeploymentPackageSpec spec = input.getSpec().getMultiVm();
    ImmutableMap<String, Object> params = makeMultiVmParams(input, imageInfo);

    for (VmTierSpec tierSpec : spec.getTiersList()) {
      ImmutableMap<String, Object> tierParams = ImmutableMap.of(
          "spec", tierSpec, "packageSpec", spec);
      builder
          .addFiles(
              SolutionPackage.File.newBuilder()
                  .setPath(TierTemplateName.apply(tierSpec))
                  .setContent(
                      fileSet.newRenderer("vm.multi.tierJinja.main").setData(tierParams).render()))
          .addFiles(
              SolutionPackage.File.newBuilder()
                  .setPath(TierTemplateName.apply(tierSpec) + ".schema")
                  .setContent(
                      fileSet
                          .newRenderer("vm.multi.tierSchema.main")
                          .setData(tierParams)
                          .render()));
    }
    builder
        .addFiles(
            SolutionPackage.File.newBuilder()
                .setPath(solutionId + ".jinja")
                .setContent(fileSet.newRenderer("vm.multi.jinja.main").setData(params).render()))
        .addFiles(
            SolutionPackage.File.newBuilder()
                .setPath(solutionId + ".jinja.schema")
                .setContent(fileSet.newRenderer("vm.multi.schema.main").setData(params).render()))
        .addFiles(
            SolutionPackage.File.newBuilder()
                .setPath(solutionId + ".jinja.display")
                .setContent(fileSet.newRenderer("vm.multi.display.main").setData(params).render()))
        .addFiles(
            SolutionPackage.File.newBuilder()
                .setPath("test_config.yaml")
                .setContent(
                    fileSet.newRenderer("vm.multi.test_config.main").setData(params).render()))
        .addFiles(
            SolutionPackage.File.newBuilder()
                .setPath("c2d_deployment_configuration.json")
                .setContent(
                    fileSet
                        .newRenderer("vm.multi.c2d_deployment_configuration.main")
                        .setData(params)
                        .render()));

    if (sharedSupportFilesStrategy == SharedSupportFilesStrategy.INCLUDED) {
      for (String filename : SINGLE_VM_SHARED_SUPPORT_FILES) {
        try {
          builder
              .addFilesBuilder()
              .setPath(filename)
              .setContent(sharedSupportFilesCache.get(filename));
        } catch (ExecutionException e) {
          throw new RuntimeException(e);
        }
      }
    }
    return builder.build();
  }