/* * Copyright (c) 2017 EMC * All Rights Reserved */ package com.emc.sa.service.vipr.application.tasks; import java.net.URI; import java.util.ArrayList; import java.util.List; import com.emc.sa.service.vipr.tasks.WaitForTasks; import com.emc.storageos.model.TaskList; import com.emc.storageos.model.TaskResourceRep; import com.emc.storageos.model.application.VolumeGroupSnapshotOperationParam; import com.emc.vipr.client.Tasks; public class CreateVplexVolumeFromAppSnapshot extends WaitForTasks<TaskResourceRep> { private final URI applicationId; private String copySetName; private List<String> subGroups; public CreateVplexVolumeFromAppSnapshot(URI applicationId, String copySetName, List<String> subGroups) { this.applicationId = applicationId; this.copySetName = copySetName; this.subGroups = new ArrayList<String>(subGroups); } @Override protected Tasks<TaskResourceRep> doExecute() throws Exception { VolumeGroupSnapshotOperationParam input = new VolumeGroupSnapshotOperationParam(); input.setCopySetName(copySetName); input.setSubGroups(new ArrayList<String>(subGroups)); TaskList taskList = getClient().application().exposeApplicationSnapshot(applicationId, input); return new Tasks<TaskResourceRep>(getClient().auth().getClient(), taskList.getTaskList(), TaskResourceRep.class); } }