def METHOD_NAME(
    self,
    name: str,
    visibility_config: Dict[str, Any],
    default_action: Dict[str, Any],
    scope: str,
    description: str,
    tags: List[Dict[str, str]],
    rules: List[Dict[str, Any]],
) -> FakeWebACL:
    """
    The following parameters are not yet implemented: CustomResponseBodies, CaptchaConfig
    """
    wacl_id = str(mock_random.uuid4())
    arn = make_arn_for_wacl(
        name=name,
        account_id=self.account_id,
        region_name=self.region_name,
        wacl_id=wacl_id,
        scope=scope,
    )
    if arn in self.wacls or self._is_duplicate_name(name):
        raise WAFV2DuplicateItemException()
    new_wacl = FakeWebACL(
        name, arn, wacl_id, visibility_config, default_action, description, rules
    )
    self.wacls[arn] = new_wacl
    self.tag_resource(arn, tags)
    return new_wacl