List of usage examples for com.amazonaws.services.cloudformation.model ValidateTemplateRequest setTemplateBody
public void setTemplateBody(String templateBody)
Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.
From source file:io.konig.schemagen.aws.AWSCloudFormationUtil.java
License:Apache License
public static void writeCloudFormationTemplate(File cfDir, String template, boolean validate) throws IOException, ParseException { for (File file : cfDir.listFiles()) { if (file.getName().endsWith("_template.yml")) { String contents = new String(Files.readAllBytes(Paths.get(file.getAbsolutePath()))); VelocityContext context = new VelocityContext(); context.put("functions", new VelocityFunctions(cfDir)); StringWriter tempresult = new StringWriter(); Template vmtemplate = new Template(); RuntimeServices runtimeServices = RuntimeSingleton.getRuntimeServices(); StringReader reader = new StringReader(contents); vmtemplate.setRuntimeServices(runtimeServices); vmtemplate.setData(runtimeServices.parse(reader, template)); vmtemplate.initDocument();// w w w . j av a2 s . co m vmtemplate.merge(context, tempresult); contents = tempresult.toString(); YAMLMapper mapper = new YAMLMapper(new YAMLFactory()); JsonNode node = mapper.readTree(contents); JsonNode outputNode = node.get("Outputs"); if (outputNode != null) { String outputs = contents.substring(contents.lastIndexOf("Outputs:")); String resources = contents.substring(0, contents.lastIndexOf("Outputs:")); resources = resources + template; contents = resources + outputs; } AmazonCloudFormationClient client = new AmazonCloudFormationClient(); ValidateTemplateRequest request = new ValidateTemplateRequest(); request.setTemplateBody(contents); if (validate) { ValidateTemplateResult result = client.validateTemplate(request); } try (FileWriter fileWriter = new FileWriter(file)) { fileWriter.write(contents); } } } }
From source file:org.xmlsh.aws.cfnValidateTemplate.java
License:BSD License
private int validate(Options opts) throws IOException, XMLStreamException, SaxonApiException, CoreException { ValidateTemplateRequest request = new ValidateTemplateRequest(); if (opts.hasOpt("template-file")) request.setTemplateBody(Util.readString(mShell.getFile(opts.getOptValue("template-file")), getSerializeOpts().getInput_text_encoding())); else/*from w ww.j a v a2 s .c o m*/ request.setTemplateURL(opts.getOptStringRequired("template-url")); traceCall("validateTemplate"); ValidateTemplateResult result = getAWSClient().validateTemplate(request); OutputPort stdout = getStdout(); mWriter = new SafeXMLStreamWriter(stdout.asXMLStreamWriter(getSerializeOpts())); startDocument(); startElement(getName()); writeResult(result); endElement(); endDocument(); closeWriter(); stdout.writeSequenceTerminator(getSerializeOpts()); return 0; }