Search in sources :

Example 11 with Snapshot

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;
}
Also used : OpenStackContext(com.att.cdp.openstack.OpenStackContext) Context(com.att.cdp.zones.Context) OpenStackSnapshot(com.att.cdp.openstack.model.OpenStackSnapshot) Snapshot(com.att.cdp.zones.model.Snapshot) OpenStackSnapshot(com.att.cdp.openstack.model.OpenStackSnapshot) OpenStackBaseException(com.woorea.openstack.base.client.OpenStackBaseException) ArrayList(java.util.ArrayList)

Example 12 with Snapshot

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;
}
Also used : OpenStackContext(com.att.cdp.openstack.OpenStackContext) Context(com.att.cdp.zones.Context) OpenStackSnapshot(com.att.cdp.openstack.model.OpenStackSnapshot) Snapshot(com.att.cdp.zones.model.Snapshot) OpenStackSnapshot(com.att.cdp.openstack.model.OpenStackSnapshot) OpenStackBaseException(com.woorea.openstack.base.client.OpenStackBaseException) ArrayList(java.util.ArrayList)

Example 13 with Snapshot

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");
}
Also used : Context(com.att.cdp.zones.Context) SnapshotService(com.att.cdp.zones.SnapshotService) Snapshot(com.att.cdp.zones.model.Snapshot) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 14 with Snapshot

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);
}
Also used : Context(com.att.cdp.zones.Context) SnapshotService(com.att.cdp.zones.SnapshotService) Snapshot(com.att.cdp.zones.model.Snapshot) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 15 with Snapshot

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);
}
Also used : Snapshot(com.att.cdp.zones.model.Snapshot)

Aggregations

Snapshot (com.att.cdp.zones.model.Snapshot)15 Context (com.att.cdp.zones.Context)14 OpenStackContext (com.att.cdp.openstack.OpenStackContext)10 OpenStackSnapshot (com.att.cdp.openstack.model.OpenStackSnapshot)10 OpenStackBaseException (com.woorea.openstack.base.client.OpenStackBaseException)10 ArrayList (java.util.ArrayList)10 SnapshotService (com.att.cdp.zones.SnapshotService)4 AbstractSnapshot (com.att.cdp.zones.spi.AbstractSnapshot)4 Ignore (org.junit.Ignore)4 Test (org.junit.Test)4