use of com.sequenceiq.cloudbreak.reactor.api.event.resource.ClusterCredentialChangeRequest in project cloudbreak by hortonworks.
the class ClusterCredentialChangeHandler method accept.
@Override
public void accept(Event<ClusterCredentialChangeRequest> event) {
ClusterCredentialChangeRequest request = event.getData();
ClusterCredentialChangeResult result;
try {
Stack stack = stackService.getByIdWithLists(request.getStackId());
switch(request.getType()) {
case REPLACE:
ambariClusterConnector.replaceUserNamePassword(stack, request.getUser(), request.getPassword());
break;
case UPDATE:
ambariClusterConnector.updateUserNamePassword(stack, request.getPassword());
break;
default:
throw new UnsupportedOperationException("Ambari credential update request not supported: " + request.getType());
}
result = new ClusterCredentialChangeResult(request);
} catch (Exception e) {
result = new ClusterCredentialChangeResult(e.getMessage(), e, request);
}
eventBus.notify(result.selector(), new Event<>(event.getHeaders(), result));
}
use of com.sequenceiq.cloudbreak.reactor.api.event.resource.ClusterCredentialChangeRequest in project cloudbreak by hortonworks.
the class ClusterCredentialChangeActions method changingClusterCredential.
@Bean(name = "CLUSTER_CREDENTIALCHANGE_STATE")
public Action<?, ?> changingClusterCredential() {
return new AbstractClusterAction<ClusterCredentialChangeTriggerEvent>(ClusterCredentialChangeTriggerEvent.class) {
@Override
protected void doExecute(ClusterViewContext ctx, ClusterCredentialChangeTriggerEvent payload, Map<Object, Object> variables) {
clusterCredentialChangeService.credentialChange(ctx.getStackId());
ClusterCredentialChangeRequest request;
switch(payload.getType()) {
case REPLACE:
request = ClusterCredentialChangeRequest.replaceUserRequest(ctx.getStackId(), payload.getUser(), payload.getPassword());
break;
case UPDATE:
request = ClusterCredentialChangeRequest.changePasswordRequest(ctx.getStackId(), payload.getPassword());
break;
default:
throw new UnsupportedOperationException("Ambari credential update request not supported: " + payload.getType());
}
sendEvent(ctx.getFlowId(), request);
}
};
}
Aggregations