'Add a resource to the template.
The resource is passed as a ResourceDefinition object. If no name is
specified, the name from the ResourceDefinition should be used.'

@abc.abstractmethod
def add_resource(self, definition, name=None):

    pass
