async def METHOD_NAME(dir_name: str):
    # creating an empty directory goes through the same procedure as uploading a multipart file
    # done by using 3 calls:
    # 1. create the link as a directory
    # 2. call complete_upload link
    # 3. call file_upload_complete_response until it replies OK
    directory_file_id = create_simcore_file_id(project_id, node_id, dir_name)
    directory_file_upload: FileUploadSchema = await create_upload_file_link_v2(
        directory_file_id, link_type="s3", is_directory="true", file_size=-1
    )
    # always returns a v2 link when dealing with directories
    assert isinstance(directory_file_upload, FileUploadSchema)
    assert len(directory_file_upload.urls) == 1
    # complete the upload
    complete_url = URL(directory_file_upload.links.complete_upload).relative()
    response = await client.post(
        f"{complete_url}",
        json=jsonable_encoder(FileUploadCompletionBody(parts=[])),
    )
    response.raise_for_status()
    data, error = await assert_status(response, web.HTTPAccepted)
    assert not error
    assert data
    file_upload_complete_response = FileUploadCompleteResponse.parse_obj(data)
    state_url = URL(file_upload_complete_response.links.state).relative()
    # check that it finished updating
    assert client.app
    client.app[UPLOAD_TASKS_KEY].clear()
    # now check for the completion
    async for attempt in AsyncRetrying(
        reraise=True,
        wait=wait_fixed(1),
        stop=stop_after_delay(60),
        retry=retry_if_exception_type(AssertionError),
    ):
        with attempt:
            print(
                f"--> checking for upload {state_url=}, {attempt.retry_state.attempt_number}..."
            )
            response = await client.post(f"{state_url}")
            data, error = await assert_status(response, web.HTTPOk)
            assert not error
            assert data
            future = FileUploadCompleteFutureResponse.parse_obj(data)
            assert future.state == FileUploadCompleteState.OK
            assert future.e_tag is None
            print(
                f"--> done waiting, data is completely uploaded [{attempt.retry_state.retry_object.statistics}]"
            )
    return directory_file_upload