use of com.att.cdp.zones.model.Snapshot in project AJSC by att.
the class OpenStackVolumeService method getSnapshots.
/**
* Returns a list of snapshots that match the supplied name
*
* @param name
* The name pattern of the snapshots to be located. The name is a regular expression that is suitable for
* use in the Java String.matches() method.
* @return A list (potentially empty) of all snapshots that match the specified name pattern
* @throws ZoneException
* - If the snapshot service cannot be accessed.
* @see java.lang.String#matches(String)
* @see com.att.cdp.zones.VolumeService#getSnapshots(java.lang.String)
*/
@Override
public List<Snapshot> getSnapshots(String name) throws ZoneException {
connect();
Context context = getContext();
trackRequest();
RequestState.put(RequestState.SNAPSHOT, name);
RequestState.put(RequestState.SERVICE, "Volume");
RequestState.put(RequestState.SERVICE_URL, cinder.getEndpoint());
ArrayList<Snapshot> list = new ArrayList<>();
try {
com.woorea.openstack.cinder.model.Snapshots snapshots = cinder.getClient().snapshots().list(true).execute();
for (com.woorea.openstack.cinder.model.Snapshot snap : snapshots) {
if (name != null) {
if (snap.getName() != null && snap.getName().matches(name)) {
list.add(new OpenStackSnapshot(context, snap));
}
} else {
list.add(new OpenStackSnapshot(context, snap));
}
}
} catch (OpenStackBaseException ex) {
ExceptionMapper.mapException(ex);
}
return list;
}
use of com.att.cdp.zones.model.Snapshot in project AJSC by att.
the class OpenStackVolumeService method getSnapshotsByVolume.
/**
* Returns a list of snapshots that were created from a specified volume.
*
* @param id
* The id of the volume that the snapshots were created from
* @return A list of snapshots, or an empty list if no snapshots exist for the specified volume.
* @throws ZoneException
* If the snapshots cannot be obtained
* @see com.att.cdp.zones.VolumeService#getSnapshotsByVolume(java.lang.String)
*/
@Override
public List<Snapshot> getSnapshotsByVolume(String id) throws ZoneException {
connect();
Context context = getContext();
trackRequest();
RequestState.put(RequestState.VOLUME, id);
RequestState.put(RequestState.SERVICE, "Volume");
RequestState.put(RequestState.SERVICE_URL, cinder.getEndpoint());
ArrayList<Snapshot> list = new ArrayList<>();
try {
com.woorea.openstack.cinder.model.Snapshots snapshots = cinder.getClient().snapshots().list(true).execute();
for (com.woorea.openstack.cinder.model.Snapshot snap : snapshots) {
if (id != null) {
if (snap.getVolumeId() != null && snap.getVolumeId().matches(id)) {
list.add(new OpenStackSnapshot(context, snap));
}
}
}
} catch (OpenStackBaseException ex) {
ExceptionMapper.mapException(ex);
}
return list;
}
use of com.att.cdp.zones.model.Snapshot in project AJSC by att.
the class TestSnapshotService method testSnapshot.
@Test(expected = Exception.class)
@Ignore
public void testSnapshot() throws ZoneException {
Context context = connect();
SnapshotService service = context.getSnapshotService();
List<Snapshot> snapshots = service.getSnapshots();
service.getSnapshot("Test");
;
service.getSnapshots("Test");
}
use of com.att.cdp.zones.model.Snapshot in project AJSC by att.
the class TestSnapshotService method listSnapshot.
@Test
@Ignore
public void listSnapshot() throws ZoneException {
Context context = connect();
SnapshotService service = context.getSnapshotService();
String id = "";
Snapshot snap = service.getSnapshot(id);
assertNotNull(snap);
}
use of com.att.cdp.zones.model.Snapshot in project AJSC by att.
the class ConnectedSnapshot method refresh.
/**
* @see com.att.cdp.zones.model.Snapshot#refresh()
*/
@Override
public void refresh() throws ZoneException {
Snapshot copy = getContext().getSnapshotService().getSnapshot(getId());
ObjectMapper.map(copy, this);
}
Aggregations