def METHOD_NAME():
    arg_spec = dict(
        state=dict(type="str", required=True, choices=["present", "absent"]),
        name=dict(type="str"),
        scope=dict(type="str", choices=["CLOUDFRONT", "REGIONAL"]),
        arn=dict(type="str", required=True),
    )
    module = AnsibleAWSModule(
        argument_spec=arg_spec,
        supports_check_mode=True,
        required_if=[["state", "present", ["name", "scope"]]],
    )
    state = module.params.get("state")
    name = module.params.get("name")
    scope = module.params.get("scope")
    arn = module.params.get("arn")
    check_mode = module.check_mode
    wafv2 = module.client("wafv2")
    # check if web acl exists
    response = wafv2_list_web_acls(wafv2, scope, module.fail_json_aws)
    id = None
    retval = {}
    change = False
    for item in response.get("WebACLs"):
        if item.get("Name") == name:
            id = item.get("Id")
    if id:
        existing_acl = get_web_acl(wafv2, name, scope, id, module.fail_json_aws)
        waf_arn = existing_acl.get("WebACL").get("ARN")
        retval = list_wafv2_resources(wafv2, waf_arn, module.fail_json_aws)
    if state == "present":
        if retval:
            if arn not in retval.get("ResourceArns"):
                change = True
                if not check_mode:
                    retval = add_wafv2_resources(wafv2, waf_arn, arn, module.fail_json_aws)
    elif state == "absent":
        if retval:
            if arn in retval.get("ResourceArns"):
                change = True
                if not check_mode:
                    retval = remove_resources(wafv2, arn, module.fail_json_aws)
    module.exit_json(changed=change, **camel_dict_to_snake_dict(retval))