<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def send_data(self, **kwargs):
 """ This method transmits data to the Gett service. Input: * ``put_url`` A PUT url to use when transmitting the data (required) * ``data`` A byte stream (required) Output: * ``True`` Example:: if file.send_data(put_url=file.upload_url, data=open("example.txt", "rb").read()):
 print "Your file has been uploaded." """

        put_url = None
        if 'put_url' in kwargs:
            put_url = kwargs['put_url']
        else:
            put_url = self.put_upload_url

        if 'data' not in kwargs:
            raise AttributeError("'data' parameter is required")

        if not put_url:
            raise AttributeError("'put_url' cannot be None")

        if not isinstance(kwargs['data'], str):
            raise TypeError("'data' parameter must be of type 'str'")

        response = GettRequest().put(put_url, kwargs['data'])

        if response.http_status == 200:
            return True