List of usage examples for com.amazonaws.services.cloudformation.model GetTemplateSummaryResult getCapabilities
public java.util.List<String> getCapabilities()
The capabilities found within the template.
From source file:com.eucalyptus.cloudformation.template.TemplateParser.java
License:Open Source License
public ValidateTemplateResult validateTemplate(String templateBody, List<Parameter> userParameters, PseudoParameterValues pseudoParameterValues, String effectiveUserId) throws CloudFormationException { GetTemplateSummaryResult getTemplateSummaryResult = getTemplateSummary(templateBody, userParameters, pseudoParameterValues, effectiveUserId); ValidateTemplateResult validateTemplateResult = new ValidateTemplateResult(); validateTemplateResult.setDescription(getTemplateSummaryResult.getDescription()); validateTemplateResult.setCapabilities(getTemplateSummaryResult.getCapabilities()); validateTemplateResult.setCapabilitiesReason(getTemplateSummaryResult.getCapabilitiesReason()); TemplateParameters templateParameters = new TemplateParameters(); if (getTemplateSummaryResult.getParameters() != null && getTemplateSummaryResult.getParameters().getMember() != null) { templateParameters.setMember(Lists.<TemplateParameter>newArrayList()); for (ParameterDeclaration parameterDeclaration : getTemplateSummaryResult.getParameters().getMember()) { TemplateParameter templateParameter = new TemplateParameter(); templateParameter.setDefaultValue(parameterDeclaration.getDefaultValue()); templateParameter.setDescription(parameterDeclaration.getDescription()); templateParameter.setNoEcho(parameterDeclaration.getNoEcho()); templateParameter.setParameterKey(parameterDeclaration.getParameterKey()); templateParameters.getMember().add(templateParameter); }/*ww w.j av a 2s.c o m*/ } validateTemplateResult.setParameters(templateParameters); return validateTemplateResult; }
From source file:com.eucalyptus.cloudformation.template.TemplateParser.java
License:Open Source License
public GetTemplateSummaryResult getTemplateSummary(String templateBody, List<Parameter> userParameters, PseudoParameterValues pseudoParameterValues, String effectiveUserId) throws CloudFormationException { Template template = new Template(); template.setResourceInfoMap(Maps.<String, ResourceInfo>newLinkedHashMap()); JsonNode templateJsonNode = null;//from w ww .ja v a 2s . com try { templateJsonNode = objectMapper.readTree(templateBody); } catch (IOException ex) { throw new ValidationErrorException(ex.getMessage()); } if (!templateJsonNode.isObject()) { throw new ValidationErrorException("Template body is not a JSON object"); } template.setTemplateBody(templateBody); addPseudoParameters(template, pseudoParameterValues); buildResourceMap(template, templateJsonNode); parseValidTopLevelKeys(templateJsonNode); parseVersion(template, templateJsonNode); parseDescription(template, templateJsonNode); parseMetadata(template, templateJsonNode); parseMappings(template, templateJsonNode); ParameterParser.parseParameters(template, templateJsonNode, userParameters, true); parseConditions(template, templateJsonNode, true, effectiveUserId); parseResources(template, templateJsonNode, true); parseOutputs(template, templateJsonNode); Set<String> capabilitiesResourceTypes = Sets.newLinkedHashSet(); Set<String> requiredCapabilities = Sets.newLinkedHashSet(); Set<String> resourceTypes = Sets.newLinkedHashSet(); for (ResourceInfo resourceInfo : template.getResourceInfoMap().values()) { String resourceType = resourceInfo.getType(); resourceTypes.add(resourceType); if (resourceInfo.getRequiredCapabilities() != null && !resourceInfo.getRequiredCapabilities().isEmpty()) { requiredCapabilities.addAll(resourceInfo.getRequiredCapabilities()); capabilitiesResourceTypes.add(resourceType); } } GetTemplateSummaryResult getTemplateSummaryResult = new GetTemplateSummaryResult(); getTemplateSummaryResult.setDescription(template.getDescription()); getTemplateSummaryResult.setCapabilities(new ResourceList()); getTemplateSummaryResult.getCapabilities().setMember(Lists.newArrayList(requiredCapabilities)); if (!requiredCapabilities.isEmpty()) { getTemplateSummaryResult.setCapabilitiesReason( "The following resource(s) require capabilities: " + capabilitiesResourceTypes); } getTemplateSummaryResult.setParameters(new ParameterDeclarations()); getTemplateSummaryResult.getParameters().setMember(template.getParameterDeclarations()); getTemplateSummaryResult.setMetadata(template.getMetadataJSON()); getTemplateSummaryResult.setResourceTypes(new ResourceList()); getTemplateSummaryResult.getResourceTypes().setMember(Lists.newArrayList(resourceTypes)); return getTemplateSummaryResult; }