/*
* Copyright (c) 2016 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.db.client.model.uimodels;
import java.net.URI;
import com.emc.storageos.db.client.model.Cf;
import com.emc.storageos.db.client.model.DataObject;
import com.emc.storageos.db.client.model.Name;
import com.emc.storageos.db.client.model.RelationIndex;
import com.emc.storageos.db.client.model.StringSet;
/**
* For recurring orders, we keep records of newly created resources to assist resource retention.
*/
@Cf("RetainedReplica")
public class RetainedReplica extends DataObject {
public static final String SCHEDULED_EVENT_ID = "scheduledEventId";
public static final String RESOURCE_ID = "resourceId";
public static final String ASSOCIATED_REPLICA_IDS = "associatedReplicaIds";
private URI scheduledEventId; // which scheduled events create the resource
private URI resourceId; // source volume, cg or application Id
private StringSet associatedReplicaIds; // newly created snapshots or fullcopies for retention
@RelationIndex(cf = "RelationIndex", type = ScheduledEvent.class)
@Name(SCHEDULED_EVENT_ID)
public URI getScheduledEventId() {
return scheduledEventId;
}
public void setScheduledEventId(URI scheduledEventId) {
this.scheduledEventId = scheduledEventId;
setChanged(SCHEDULED_EVENT_ID);
}
@Name(RESOURCE_ID)
public URI getResourceId() {
return resourceId;
}
public void setResourceId(URI resourceId) {
this.resourceId = resourceId;
setChanged(RESOURCE_ID);
}
@Name(ASSOCIATED_REPLICA_IDS)
public StringSet getAssociatedReplicaIds() {
return associatedReplicaIds;
}
public void setAssociatedReplicaIds(StringSet associatedReplicaIds) {
this.associatedReplicaIds = associatedReplicaIds;
setChanged(ASSOCIATED_REPLICA_IDS);
}
}