Search in sources :

Example 1 with ResourceState

use of bio.terra.buffer.common.ResourceState in project terra-resource-buffer by DataBiosphere.

the class FlightSchedulerTest method newPoolWithResourceCount.

/**
 * Creates a pool with resources with given {@code resourceStates}.
 */
private Pool newPoolWithResourceCount(int poolSize, Multiset<ResourceState> resourceStates) {
    PoolId poolId = PoolId.create(UUID.randomUUID().toString());
    Pool pool = Pool.builder().creation(Instant.now()).id(poolId).resourceType(ResourceType.GOOGLE_PROJECT).size(poolSize).resourceConfig(new ResourceConfig().configName("resourceName")).status(PoolStatus.ACTIVE).build();
    bufferDao.createPools(ImmutableList.of(pool));
    for (ResourceState state : resourceStates) {
        bufferDao.createResource(Resource.builder().id(ResourceId.create(UUID.randomUUID())).poolId(poolId).creation(Instant.now()).state(state).build());
    }
    return pool;
}
Also used : PoolId(bio.terra.buffer.common.PoolId) Pool(bio.terra.buffer.common.Pool) ResourceState(bio.terra.buffer.common.ResourceState) ResourceConfig(bio.terra.buffer.generated.model.ResourceConfig)

Example 2 with ResourceState

use of bio.terra.buffer.common.ResourceState in project terra-resource-buffer by DataBiosphere.

the class PoolService method getPoolInfo.

/**
 * Gets pool information by given {@link PoolId}.
 */
public PoolInfo getPoolInfo(PoolId poolId) {
    Optional<PoolAndResourceStates> poolAndResourceStates = bufferDao.retrievePoolAndResourceStatesById(poolId);
    if (poolAndResourceStates.isEmpty()) {
        throw new NotFoundException(String.format("Pool %s not found", poolId));
    }
    Pool pool = poolAndResourceStates.get().pool();
    Multiset<ResourceState> resourceStates = poolAndResourceStates.get().resourceStates();
    return new PoolInfo().poolConfig(new PoolConfig().poolId(poolId.toString()).size(pool.size()).resourceConfigName(pool.resourceConfig().getConfigName())).status(bio.terra.buffer.generated.model.PoolStatus.valueOf(pool.status().toString())).putResourceStateCountItem(ResourceState.CREATING.name(), resourceStates.count(ResourceState.CREATING)).putResourceStateCountItem(ResourceState.READY.name(), resourceStates.count(ResourceState.READY)).putResourceStateCountItem(ResourceState.DELETED.name(), resourceStates.count(ResourceState.DELETED)).putResourceStateCountItem(ResourceState.HANDED_OUT.name(), resourceStates.count(ResourceState.HANDED_OUT));
}
Also used : PoolAndResourceStates(bio.terra.buffer.common.PoolAndResourceStates) NotFoundException(bio.terra.buffer.common.exception.NotFoundException) PoolConfig(bio.terra.buffer.generated.model.PoolConfig) PoolConfigLoader.loadPoolConfig(bio.terra.buffer.service.pool.PoolConfigLoader.loadPoolConfig) Pool(bio.terra.buffer.common.Pool) ResourceState(bio.terra.buffer.common.ResourceState) PoolInfo(bio.terra.buffer.generated.model.PoolInfo)

Aggregations

Pool (bio.terra.buffer.common.Pool)2 ResourceState (bio.terra.buffer.common.ResourceState)2 PoolAndResourceStates (bio.terra.buffer.common.PoolAndResourceStates)1 PoolId (bio.terra.buffer.common.PoolId)1 NotFoundException (bio.terra.buffer.common.exception.NotFoundException)1 PoolConfig (bio.terra.buffer.generated.model.PoolConfig)1 PoolInfo (bio.terra.buffer.generated.model.PoolInfo)1 ResourceConfig (bio.terra.buffer.generated.model.ResourceConfig)1 PoolConfigLoader.loadPoolConfig (bio.terra.buffer.service.pool.PoolConfigLoader.loadPoolConfig)1