code: def _sign(self, data):
          
  
          # Python2/3 urlencode aren't good enough for this task.
          params = "&".join(
              "=".join((key, cs_encode(value)))
              for key, value in sorted(data.items())
          )
  
          digest = hmac.new(
              self.secret.encode('utf-8'),
              msg=params.lower().encode('utf-8'),
              digestmod=hashlib.sha1).digest()
  
          return base64.b64encode(digest).decode('utf-8').strip()
docs: Compute a signature string according to the CloudStack
          signature method (hmac/sha1).