protected BlockVirtualPoolRestRep doSave() { BlockVirtualPoolRestRep virtualPool; if (isNew()) { BlockVirtualPoolBuilder builder = apply(new BlockVirtualPoolBuilder()); virtualPool = VirtualPoolUtils.create(builder.getVirtualPool()); this.id = ResourceUtils.stringId(virtualPool); } else { BlockVirtualPoolRestRep oldVirtualPool = VirtualPoolUtils.getBlockVirtualPool(id); BlockVirtualPoolUpdateBuilder builder = apply(new BlockVirtualPoolUpdateBuilder(oldVirtualPool)); virtualPool = VirtualPoolUtils.update(id, builder.getVirtualPoolUpdate()); List<NamedRelatedResourceRep> matchingPools = VirtualPoolUtils.refreshMatchingPools(virtualPool); Logger.info( "Refreshed Block Virtual Pool '%s' matching pools: %d", virtualPool.getName(), matchingPools.size()); } virtualPool = saveStoragePools(virtualPool); return virtualPool; }
public MatchingBlockStoragePoolsCall matchingStoragePools() { BlockVirtualPoolBuilder builder = new BlockVirtualPoolBuilder(); apply(builder); builder.setUseMatchedPools(true); return new MatchingBlockStoragePoolsCall(builder.getVirtualPool()); }