Example usage for com.amazonaws.services.cloudformation.model ValidateTemplateRequest setTemplateBody

List of usage examples for com.amazonaws.services.cloudformation.model ValidateTemplateRequest setTemplateBody

Introduction

In this page you can find the example usage for com.amazonaws.services.cloudformation.model ValidateTemplateRequest setTemplateBody.

Prototype


public void setTemplateBody(String templateBody) 

Source Link

Document

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.

Usage

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;

}