'Generate a provider template that mirrors the resource.
:param resource_type: The resource type to be displayed in the template
:param template_type: the template type to generate, cfn or hot.
:returns: A template where the resource\'s properties_schema is mapped
as parameters, and the resource\'s attributes_schema is mapped as
outputs'

@classmethod
def resource_to_template(cls, resource_type, template_type='cfn'):

    props_schema = {}
    for (name, schema_dict) in cls.properties_schema.items():
        schema = properties.Schema.from_legacy(schema_dict)
        if (schema.support_status.status != support.HIDDEN):
            props_schema[name] = schema
    (params, props) = properties.Properties.schema_to_parameters_and_properties(props_schema, template_type)
    resource_name = cls.__name__
    outputs = attributes.Attributes.as_outputs(resource_name, cls, template_type)
    description = ('Initial    template    of    %s' % resource_name)
    return cls.build_template_dict(resource_name, resource_type, template_type, params, props, outputs, description)
