| from boto.resultset import ResultSet |
| from boto.cloudformation.stack import Capability |
| |
| class Template(object): |
| def __init__(self, connection=None): |
| self.connection = connection |
| self.description = None |
| self.template_parameters = None |
| self.capabilities_reason = None |
| self.capabilities = None |
| |
| def startElement(self, name, attrs, connection): |
| if name == "Parameters": |
| self.template_parameters = ResultSet([('member', TemplateParameter)]) |
| return self.template_parameters |
| elif name == "Capabilities": |
| self.capabilities = ResultSet([('member', Capability)]) |
| return self.capabilities |
| else: |
| return None |
| |
| def endElement(self, name, value, connection): |
| if name == "Description": |
| self.description = value |
| elif name == "CapabilitiesReason": |
| self.capabilities_reason = value |
| else: |
| setattr(self, name, value) |
| |
| class TemplateParameter(object): |
| def __init__(self, parent): |
| self.parent = parent |
| self.default_value = None |
| self.description = None |
| self.no_echo = None |
| self.parameter_key = None |
| |
| def startElement(self, name, attrs, connection): |
| return None |
| |
| def endElement(self, name, value, connection): |
| if name == "DefaultValue": |
| self.default_value = value |
| elif name == "Description": |
| self.description = value |
| elif name == "NoEcho": |
| self.no_echo = bool(value) |
| elif name == "ParameterKey": |
| self.parameter_key = value |
| else: |
| setattr(self, name, value) |