def METHOD_NAME(client, rg=setup.TEST_RG, account_name=setup.TEST_ACC_1, pool_name=setup.TEST_POOL_1, volume_name=setup.TEST_VOL_1,
                    snapshot_name=setup.TEST_SNAPSHOT_1, location=setup.LOCATION, vnet=setup.PERMA_VNET, snapshot_only=False):
    if not snapshot_only:
        volume = create_volume(client, rg, account_name, pool_name, volume_name, vnet=setup.PERMA_VNET, volume_only=True)
    else:
        # we need to get the volume id if we didn't just create it
        volume = client.volumes.get(rg, account_name, pool_name, volume_name)
    body = Snapshot(location=location, file_system_id=volume.file_system_id)
    client.snapshots.begin_create(rg, account_name, pool_name, volume_name, snapshot_name, body).result()
    snapshot = wait_for_snapshot(client, rg, account_name, pool_name, volume_name, snapshot_name)
    return snapshot