def METHOD_NAME(self):
    payload = {
        "name": self.options["name"],
        "description": self.options.get("description") or "",
        "templateName": self.options["template"],
        "urlPathPrefix": self.options.get("url_path_prefix") or "",
    }
    self.logger.info("Sending request to create Community")
    try:
        self.sf.restful(
            "connect/communities", method="POST", data=json.dumps(payload)
        )
    except SalesforceMalformedRequest as e:
        if CreateCommunity.COMMUNITY_EXISTS_ERROR_MSG in str(e):
            # We can end up here if the previous try timed out
            # but the community finished creating before we tried again.
            community = self._get_community()
            self.poll_complete = True
            self.logger.info("Community {} created".format(community["id"]))
            return
        else:
            raise
    # Wait for the community to be created
    self.time_start = datetime.now()
    self._poll()