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)
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
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)