Example usage for com.amazonaws.services.cloudformation.model GetTemplateSummaryResult getParameters

List of usage examples for com.amazonaws.services.cloudformation.model GetTemplateSummaryResult getParameters

Introduction

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

Prototype


public java.util.List<ParameterDeclaration> getParameters() 

Source Link

Document

A list of parameter declarations that describe various properties for each parameter.

Usage

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);
        }//from   w ww . ja  v a  2s . co 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;//  w  ww.  j  ava2  s  .  c om
    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;
}