@classmethod
def list(cls, options=None, target=None):
    """ List all snapshot profiles."""
    options = options or {}
    result = []
    if not target or target == 'paas':
        for profile in cls.safe_call('paas.snapshotprofile.list', options):
            profile['target'] = 'paas'
            result.append((profile['id'], profile))
    if not target or target == 'vm':
        for profile in cls.safe_call('hosting.snapshotprofile.list', options):
            profile['target'] = 'vm'
            result.append((profile['id'], profile))
    result = sorted(result, key=lambda item: item[0])
    return [profile for id_, profile in result]
