use of com.emc.storageos.security.authorization.CheckPermission in project coprhd-controller by CoprHD.
the class StorageSystemService method getAllRAGroups.
/**
* Get All RA Groups
*
* @param id
* @brief List RDF groups names in a storage system
* @return
*/
@GET
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Path("/{id}/rdf-groups")
@CheckPermission(roles = { Role.SYSTEM_ADMIN, Role.SYSTEM_MONITOR })
public RDFGroupList getAllRAGroups(@PathParam("id") URI id) {
// Make sure storage system is registered.
ArgValidator.checkFieldUriType(id, StorageSystem.class, "id");
StorageSystem system = queryResource(id);
ArgValidator.checkEntity(system, id, isIdEmbeddedInURL(id));
RDFGroupList rdfGroupList = new RDFGroupList();
URIQueryResultList rdfGroupURIs = new URIQueryResultList();
_dbClient.queryByConstraint(ContainmentConstraint.Factory.getStorageDeviceRemoteGroupsConstraint(id), rdfGroupURIs);
Iterator<URI> rdfGroupIter = rdfGroupURIs.iterator();
while (rdfGroupIter.hasNext()) {
URI rdfGroupURI = rdfGroupIter.next();
RemoteDirectorGroup rdfGroup = _dbClient.queryObject(RemoteDirectorGroup.class, rdfGroupURI);
if (rdfGroup != null && !rdfGroup.getInactive()) {
rdfGroupList.getRdfGroups().add(toNamedRelatedResource(rdfGroup, rdfGroup.getNativeGuid()));
}
}
return rdfGroupList;
}
use of com.emc.storageos.security.authorization.CheckPermission in project coprhd-controller by CoprHD.
the class StorageSystemService method registerStoragePool.
/**
* Manually register the discovered storage pool with the passed id on the
* registered storage system with the passed id.
*
* @param id the URN of a ViPR storage system.
* @param poolId The id of the storage pool.
*
* @brief Register storage system storage pool
* @return A reference to a StoragePoolRestRep specifying the data for the
* registered storage pool.
*/
@POST
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@CheckPermission(roles = { Role.SYSTEM_ADMIN, Role.RESTRICTED_SYSTEM_ADMIN })
@Path("/{id}/storage-pools/{poolId}/register")
public StoragePoolRestRep registerStoragePool(@PathParam("id") URI id, @PathParam("poolId") URI poolId) {
// Make sure storage system is registered.
ArgValidator.checkFieldUriType(id, StorageSystem.class, "id");
queryRegisteredSystem(id);
ArgValidator.checkFieldUriType(poolId, StoragePool.class, "poolId");
StoragePool pool = _dbClient.queryObject(StoragePool.class, poolId);
ArgValidator.checkEntity(pool, poolId, isIdEmbeddedInURL(poolId));
if (!id.equals(pool.getStorageDevice())) {
throw APIException.badRequests.poolNotBelongingToSystem(poolId, id);
}
// if not register, registered it. Otherwise, dont do anything
if (RegistrationStatus.UNREGISTERED.toString().equalsIgnoreCase(pool.getRegistrationStatus())) {
registerStoragePool(pool);
StringBuffer errorMessage = new StringBuffer();
// Pool registration also update its varray relationship, so, we should also update vpool to pool relation.
ImplicitPoolMatcher.matchModifiedStoragePoolsWithAllVirtualPool(Arrays.asList(pool), _dbClient, _coordinator, errorMessage);
}
return StoragePoolService.toStoragePoolRep(pool, _dbClient, _coordinator);
}
use of com.emc.storageos.security.authorization.CheckPermission in project coprhd-controller by CoprHD.
the class StorageSystemService method getAllStoragePorts.
/**
* Get all storage ports for the registered storage system with the passed
* id.
*
* @param id the URN of a ViPR storage system.
*
* @brief List storage system storage ports
* @return A reference to a StoragePortList specifying the id and self link
* for each port.
*/
@GET
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Path("/{id}/storage-ports")
@CheckPermission(roles = { Role.SYSTEM_ADMIN, Role.SYSTEM_MONITOR })
public StoragePortList getAllStoragePorts(@PathParam("id") URI id) {
// Make sure the storage system is registered.
ArgValidator.checkFieldUriType(id, StorageSystem.class, "id");
StorageSystem system = queryResource(id);
ArgValidator.checkEntity(system, id, isIdEmbeddedInURL(id));
{
// Update the port metrics calculations. This makes the UI display up-to-date when ports shown.
URIQueryResultList storagePortURIs = new URIQueryResultList();
_dbClient.queryByConstraint(ContainmentConstraint.Factory.getStorageDeviceStoragePortConstraint(id), storagePortURIs);
List<StoragePort> storagePorts = _dbClient.queryObject(StoragePort.class, storagePortURIs);
portMetricsProcessor.computeStoragePortUsage(storagePorts, system, true);
}
StoragePortList portList = new StoragePortList();
URIQueryResultList storagePortURIs = new URIQueryResultList();
_dbClient.queryByConstraint(ContainmentConstraint.Factory.getStorageDeviceStoragePortConstraint(id), storagePortURIs);
Iterator<URI> storagePortsIter = storagePortURIs.iterator();
while (storagePortsIter.hasNext()) {
URI storagePortURI = storagePortsIter.next();
StoragePort storagePort = _dbClient.queryObject(StoragePort.class, storagePortURI);
if (storagePort != null && !storagePort.getInactive()) {
portList.getPorts().add(toNamedRelatedResource(storagePort, storagePort.getNativeGuid()));
}
}
return portList;
}
use of com.emc.storageos.security.authorization.CheckPermission in project coprhd-controller by CoprHD.
the class StorageSystemService method getUnManagedFileSystems.
/**
* List all unmanaged file systems which are available for a storage system.Unmanaged file systems refers to file systems which are
* available within underlying storage systems , but
* still not managed in ViPR.
* As these file systems are not managed in ViPR, there will not be any ViPR specific
* details associated such as, virtual array, virtual pool, or project.
*
* @param id the URN of a ViPR storage system
*
* @prereq none
* @brief List of all unmanaged file systems available for a storage system
* @return UnManagedFileSystemList
*/
@GET
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@CheckPermission(roles = { Role.SYSTEM_ADMIN, Role.SYSTEM_MONITOR })
@Path("/{id}/unmanaged/filesystems")
public UnManagedFileSystemList getUnManagedFileSystems(@PathParam("id") URI id) {
ArgValidator.checkFieldUriType(id, StorageSystem.class, "id");
UnManagedFileSystemList unManagedFileSystemList = new UnManagedFileSystemList();
URIQueryResultList result = new URIQueryResultList();
_dbClient.queryByConstraint(ContainmentConstraint.Factory.getStorageDeviceUnManagedFileSystemConstraint(id), result);
Iterator<UnManagedFileSystem> unmanagedFileSystemItr = _dbClient.queryIterativeObjects(UnManagedFileSystem.class, result, true);
while (unmanagedFileSystemItr.hasNext()) {
UnManagedFileSystem umfs = unmanagedFileSystemItr.next();
unManagedFileSystemList.getUnManagedFileSystem().add(toRelatedResource(ResourceTypeEnum.UNMANAGED_FILESYSTEMS, umfs.getId()));
}
return unManagedFileSystemList;
}
use of com.emc.storageos.security.authorization.CheckPermission in project coprhd-controller by CoprHD.
the class StorageSystemService method getStoragePortGroup.
/**
* Get information about the storage port group with the passed id on the
* storage system.
*
* @param id
* the URN of a ViPR storage system.
* @param portGroupId
* The id of the storage portgroup.
*
* @brief Show storage system storage port group
* @return A StoragePortGroupRestRep reference specifying the data for the
* requested port group.
*/
@GET
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Path("/{id}/storage-port-groups/{portGroupId}")
@CheckPermission(roles = { Role.SYSTEM_ADMIN, Role.SYSTEM_MONITOR })
public StoragePortGroupRestRep getStoragePortGroup(@PathParam("id") URI id, @PathParam("portGroupId") URI portGroupId) {
ArgValidator.checkFieldUriType(id, StorageSystem.class, "id");
ArgValidator.checkFieldUriType(portGroupId, StoragePortGroup.class, "portGroupId");
StoragePortGroup portGroup = _dbClient.queryObject(StoragePortGroup.class, portGroupId);
ArgValidator.checkEntity(portGroup, portGroupId, isIdEmbeddedInURL(portGroupId));
if (!portGroup.getStorageDevice().equals(id)) {
throw APIException.badRequests.portGroupInvalid(portGroup.getNativeGuid());
}
return MapStoragePortGroup.getInstance(_dbClient).toStoragePortGroupRestRep(portGroup);
}
Aggregations