in java/com/google/cloud/deploymentmanager/autogen/Autogen.java [438:505]
private SolutionPackage buildTerraformMultiVm(DeploymentPackageInput input) {
SolutionPackage.Builder builder = SolutionPackage.newBuilder();
ImageInfo imageInfo = ImageInfo.builder().build();
ImmutableMap<String, Object> params = makeMultiVmParams(input, imageInfo);
MultiVmDeploymentPackageSpec spec = input.getSpec().getMultiVm();
for (VmTierSpec tierSpec : spec.getTiersList()) {
ImmutableMap<String, Object> tierParams = ImmutableMap.of(
"spec", tierSpec, "packageSpec", spec);
builder
.addFiles(
SolutionPackage.File.newBuilder()
.setPath(String.format("modules/%s/main.tf", tierSpec.getName()))
.setContent(
fileSet.newRenderer("vm.multi.tierTf.main").setData(tierParams).render()))
.addFiles(
SolutionPackage.File.newBuilder()
.setPath(String.format("modules/%s/variables.tf", tierSpec.getName()))
.setContent(
fileSet
.newRenderer("vm.multi.tier.variables.main")
.setData(tierParams)
.render()))
.addFiles(
SolutionPackage.File.newBuilder()
.setPath(String.format("modules/%s/outputs.tf", tierSpec.getName()))
.setContent(
fileSet
.newRenderer("vm.multi.tier.outputs.main")
.setData(tierParams)
.render()));
}
builder
.addFiles(
SolutionPackage.File.newBuilder()
.setPath("README.md")
.setContent(fileSet.newRenderer("vm.multi.readme.main").setData(params).render()))
.addFiles(
SolutionPackage.File.newBuilder()
.setPath("main.tf")
.setContent(fileSet.newRenderer("vm.multi.tf.main").setData(params).render()))
.addFiles(
SolutionPackage.File.newBuilder()
.setPath("variables.tf")
.setContent(
fileSet.newRenderer("vm.multi.variables.main").setData(params).render()))
.addFiles(
SolutionPackage.File.newBuilder()
.setPath("outputs.tf")
.setContent(fileSet.newRenderer("vm.multi.outputs.main").setData(params).render()))
.addFiles(
SolutionPackage.File.newBuilder()
.setPath("marketplace_test.tfvars")
.setContent(fileSet.newRenderer("vm.multi.tfvars.main").setData(params).render()))
.addFiles(
SolutionPackage.File.newBuilder()
.setPath("metadata.yaml")
.setContent(fileSet.newRenderer("vm.multi.metadata.main").setData(params).render()))
.addFiles(
SolutionPackage.File.newBuilder()
.setPath("metadata.display.yaml")
.setContent(
fileSet
.newRenderer("vm.multi.metadata.display.main")
.setData(params)
.render()));
return builder.build();
}