use of com.sequenceiq.cloudbreak.idbmms.exception.IdbmmsOperationException in project cloudbreak by hortonworks.
the class GrpcIdbmmsClient method getMappingsConfig.
/**
* Retrieves IDBroker mappings from IDBMMS for a particular environment.
*
* @param actorCrn the actor CRN; must not be {@code null}
* @param environmentCrn the environment CRN to get mappings for; must not be {@code null}
* @param requestId an optional request ID; must not be {@code null}
* @return the mappings config associated with environment {@code environmentCrn}; never {@code null}
* @throws NullPointerException if either argument is {@code null}
* @throws IdbmmsOperationException if any problem is encountered during the IDBMMS call processing
*/
public MappingsConfig getMappingsConfig(String actorCrn, String environmentCrn, Optional<String> requestId) {
checkNotNull(actorCrn, "actorCrn should not be null.");
checkNotNull(environmentCrn);
checkNotNull(requestId, "requestId should not be null.");
try (ManagedChannelWrapper channelWrapper = makeWrapper()) {
IdbmmsClient client = makeClient(channelWrapper.getChannel(), actorCrn);
String effectiveRequestId = requestId.orElse(UUID.randomUUID().toString());
LOGGER.debug("Fetching IDBroker mappings for environment {} using request ID {}", environmentCrn, effectiveRequestId);
MappingsConfig mappingsConfig = client.getMappingsConfig(effectiveRequestId, environmentCrn);
LOGGER.debug("Retrieved IDBroker mappings of version {} for environment {}", mappingsConfig.getMappingsVersion(), environmentCrn);
return mappingsConfig;
} catch (RuntimeException e) {
throw new IdbmmsOperationException(String.format("Error during IDBMMS operation: %s", e.getMessage()), e);
}
}
Aggregations