use of com.cloudera.thunderhead.service.minasshdmanagement.MinaSshdManagementProto.GenerateAndRegisterSshTunnelingKeyPairResponse in project cloudbreak by hortonworks.
the class DefaultCcmParameterSupplier method getBaseCcmParameters.
@Override
public Optional<CcmParameters> getBaseCcmParameters(@Nonnull String actorCrn, @Nonnull String accountId, @Nonnull String keyId) {
if (grpcMinaSshdManagementClient == null) {
return Optional.empty();
}
String requestId = MDCBuilder.getOrGenerateRequestId();
try {
MinaSshdService minaSshdService = grpcMinaSshdManagementClient.acquireMinaSshdServiceAndWaitUntilReady(requestId, Objects.requireNonNull(actorCrn, "actorCrn is null"), Objects.requireNonNull(accountId, "accountId is null"));
GenerateAndRegisterSshTunnelingKeyPairResponse keyPairResponse = grpcMinaSshdManagementClient.generateAndRegisterSshTunnelingKeyPair(requestId, actorCrn, accountId, minaSshdService.getMinaSshdServiceId(), keyId);
return Optional.of(new DefaultCcmParameters(createServerParameters(minaSshdService), createInstanceParameters(keyId, keyPairResponse.getEncipheredPrivateKey()), Collections.emptyList()));
} catch (Exception e) {
Throwables.throwIfUnchecked(e);
throw new RuntimeException(e);
}
}
use of com.cloudera.thunderhead.service.minasshdmanagement.MinaSshdManagementProto.GenerateAndRegisterSshTunnelingKeyPairResponse in project cloudbreak by hortonworks.
the class MinaSshdManagementClient method generateAndRegisterSshTunnelingKeyPair.
/**
* Wraps call to generateAndRegisterSshTunnelingKeyPair.
*
* @param requestId the request ID for the request
* @param accountId the account ID
* @param minaSshdServiceId the minasshd service ID
* @param keyId the key ID
* @return the response containing the key pair
* @throws CcmException if an exception occurs
*/
public GenerateAndRegisterSshTunnelingKeyPairResponse generateAndRegisterSshTunnelingKeyPair(String requestId, String accountId, String minaSshdServiceId, String keyId) throws CcmException {
checkNotNull(requestId, "requestId should not be null.");
checkNotNull(accountId, "accountId should not be null.");
checkNotNull(minaSshdServiceId);
checkNotNull(keyId);
MinaSshdManagementBlockingStub blockingStub = newStub(requestId);
GenerateAndRegisterSshTunnelingKeyPairRequest.Builder requestBuilder = GenerateAndRegisterSshTunnelingKeyPairRequest.newBuilder().setAccountId(accountId).setMinaSshdServiceId(minaSshdServiceId).setKeyId(keyId);
try {
LOGGER.debug("Calling generateAndRegisterSshTunnelingKeyPair with requestId: {}, accountId: {}, minaSshdServiceId: {}, keyId: {}", requestId, accountId, minaSshdServiceId, keyId);
GenerateAndRegisterSshTunnelingKeyPairResponse response = blockingStub.generateAndRegisterSshTunnelingKeyPair(requestBuilder.build());
if (response == null) {
throw new CcmException("Got null response from MinaSshdManagementService generateAndRegisterSshTunnelingKeyPair gRPC call", false);
} else {
return response;
}
} catch (StatusRuntimeException e) {
String message = "MinaSshdManagementService generateAndRegisterSshTunnelingKeyPair gRPC call failed: " + e.getMessage();
Status status = e.getStatus();
Status.Code code = status.getCode();
boolean retryable = GrpcUtil.isRetryable(code);
LOGGER.debug("Got status code: {}, retryable: {}", code, retryable);
throw new CcmException(message, e, retryable);
}
}
Aggregations