<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def availability(self, availability):
 """Sets the availability of this Product. :param availability: The availability of this Product. :type: str """

        allowed_values = ["available", "comingSoon", "retired"]
        if availability is not None and availability not in allowed_values:
            raise ValueError(
                "Invalid value for `availability` ({0}), must be one of {1}"
                .format(availability, allowed_values)
            )

        self._availability = availability