async def METHOD_NAME(filesystem_client):
    # create a parent directory
    dir_name = "testdir"
    print("Creating a directory named '{}'.".format(dir_name))
    # Create directory from file system client
    await filesystem_client.create_directory(dir_name)
    directory_client = filesystem_client.get_directory_client(dir_name)
    try:
        # Create the existing directory again will throw exception
        # [START create_directory]
        await directory_client.create_directory()
        # [END create_directory]
    except ResourceExistsError:
        pass
    # populate the directory with some child files
    await create_child_files(directory_client, 35)
    # rename the directory
    # [START rename_directory]
    new_dir_name = "testdir2"
    print("Renaming the directory named '{}' to '{}'.".format(dir_name, new_dir_name))
    new_directory = await directory_client\
        .rename_directory(new_name=directory_client.file_system_name + '/' + new_dir_name)
    # [END rename_directory]
    # display the properties of the new directory to make sure it was renamed successfully
    # [START get_directory_properties]
    props = await new_directory.get_directory_properties()
    # [END get_directory_properties]
    print("Properties of the new directory named '{}' are: {}.".format(new_dir_name, props))
    # remove the newly renamed directory
    print("Removing the directory named '{}'.".format(new_dir_name))
    # [START delete_directory]
    await new_directory.delete_directory()
    # [END delete_directory]