52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
|
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)
|