code: def put_file(self, in_path, out_path):
  
          ''' transfer a file from local to remote '''
          vvv("PUT %s TO %s" % (in_path, out_path), host=self.host)
  
          if not os.path.exists(in_path):
              raise errors.AnsibleFileNotFound("file or module does not exist: %s" % in_path)
          data = file(in_path).read()
          data = base64.b64encode(data)
  
          data = dict(mode='put', data=data, out_path=out_path)
          # TODO: support chunked file transfer
          data = utils.jsonify(data)
          data = utils.encrypt(self.key, data)
          self.socket.send(data)
  
          response = self.socket.recv()
          response = utils.decrypt(self.key, response)
          response = utils.parse_json(responsef put_file(self, in_path, out_path):
  
          ''' transfer a file from local to remote '''
          vvv("PUT %s TO %s" % (in_path, out_path), host=self.host)
  
          if not os.path.exists(in_path):
              raise errors.AnsibleFileNotFound("file or module does not exist: %s" % in_path)
          data = file(in_path).read()
          data = base64.b64encode(data)
  
          data = dict(mode='put', data=data, out_path=out_path)
          # TODO: support chunked file transfer
          data = utils.jsonify(data)
          data = utils.encrypt(self.key, data)
          self.socket.send(data)
  
          response = self.socket.recv()
          response = utils.decrypt(self.key, response)
          response = utils.parse_json(response)
docs: transfer a file from local to remote