Пример #1
0
def recover_snapshot(module, blade):
    """Recover deleted Snapshot"""
    if not module.check_mode:
        snapname = module.params['name'] + "." + module.params['suffix']
        new_attr = FileSystemSnapshot(destroyed=False)
        try:
            blade.file_system_snapshots.update_file_system_snapshots(name=snapname, attributes=new_attr)
            changed = True
        except Exception:
            changed = False
    module.exit_json(changed=changed)
Пример #2
0
def snap_delete(name, suffix=None, eradicate=False):
    '''

    Delete a filesystem snapshot on a Pure Storage FlashBlade.

    Will return False if selected snapshot does not exist.

    .. versionadded::  2019.2.0

    name : string
        name of filesystem
    suffix : string
        name of snapshot
    eradicate : boolean
        Eradicate snapshot after deletion if True. Default is False

    CLI Example:

    .. code-block:: bash

        salt '*' purefb.snap_delete foo suffix=snap eradicate=True

    '''
    blade = _get_blade()
    if _get_snapshot(name, suffix, blade) is not None:
        try:
            snapname = name + '.' + suffix
            new_attr = FileSystemSnapshot(destroyed=True)
            blade.file_system_snapshots.update_file_system_snapshots(
                name=snapname, attributes=new_attr)
        except rest.ApiException:
            return False
        if eradicate is True:
            try:
                blade.file_system_snapshots.delete_file_system_snapshots(
                    name=snapname)
                return True
            except rest.ApiException:
                return False
        else:
            return True
    else:
        return False
Пример #3
0
def delete_snapshot(module, blade):
    """ Delete Snapshot"""
    if not module.check_mode:
        snapname = module.params["name"] + "." + module.params["suffix"]
        new_attr = FileSystemSnapshot(destroyed=True)
        try:
            blade.file_system_snapshots.update_file_system_snapshots(
                name=snapname, attributes=new_attr)
            changed = True
            if module.params["eradicate"]:
                try:
                    blade.file_system_snapshots.delete_file_system_snapshots(
                        name=snapname)
                    changed = True
                except Exception:
                    changed = False
        except Exception:
            changed = False
    module.exit_json(changed=changed)