def METHOD_NAME(
    self, kube_apis, crd_ingress_controller_with_ed, create_externaldns, virtual_server_setup
):
    print("\nStep 1: Update VirtualServer")
    patch_src = f"{TEST_DATA}/virtual-server-external-dns/virtual-server-updated.yaml"
    patch_virtual_server_from_yaml(
        kube_apis.custom_objects,
        virtual_server_setup.vs_name,
        patch_src,
        virtual_server_setup.namespace,
    )
    print("\nStep 2: Verify the DNSEndpoint was updated")
    vs_event_update_text = "Successfully updated DNSEndpoint"
    wait_before_test(5)
    events = get_events(kube_apis.v1, virtual_server_setup.namespace)
    assert_event(vs_event_update_text, events)
    print("\nStep 3: Verify VS status is Valid")
    response = read_custom_resource(
        kube_apis.custom_objects,
        virtual_server_setup.namespace,
        "virtualservers",
        virtual_server_setup.vs_name,
    )
    assert (
        response["status"]
        and response["status"]["reason"] == "AddedOrUpdated"
        and response["status"]["state"] == "Valid"
    )