'Return a Property Schema corresponding to a Parameter Schema.
Convert a parameter schema from a provider template to a property
Schema for the corresponding resource facade.'

@classmethod
def from_parameter(cls, param):

    param_type_map = {param.STRING: cls.STRING, param.NUMBER: cls.NUMBER, param.LIST: cls.LIST, param.MAP: cls.MAP, param.BOOLEAN: cls.BOOLEAN}
    allow_conversion = ((param.type == param.MAP) or (param.type == param.LIST))
    return cls(data_type=param_type_map.get(param.type, cls.MAP), description=param.description, required=param.required, constraints=param.constraints, update_allowed=True, immutable=False, allow_conversion=allow_conversion)
