use of com.sequenceiq.cloudbreak.reactor.api.event.orchestration.ClusterProxyRegistrationRequest in project cloudbreak by hortonworks.
the class ClusterCreationActions method clusterProxyRegistrationAction.
@Bean(name = "CLUSTER_PROXY_REGISTRATION_STATE")
public Action<?, ?> clusterProxyRegistrationAction() {
return new AbstractStackCreationAction<>(ProvisionEvent.class) {
@Inject
private ClusterProxyEnablementService clusterProxyEnablementService;
@Override
protected void prepareExecution(ProvisionEvent payload, Map<Object, Object> variables) {
super.prepareExecution(payload, variables);
variables.put(PROVISION_TYPE, payload.getProvisionType());
}
@Override
protected void doExecute(StackCreationContext context, ProvisionEvent payload, Map<Object, Object> variables) {
if (clusterProxyEnablementService.isClusterProxyApplicable(context.getStack().cloudPlatform())) {
clusterCreationService.registeringToClusterProxy(context.getStack());
sendEvent(context);
} else {
ClusterProxyRegistrationSuccess clusterProxyRegistrationSuccess = new ClusterProxyRegistrationSuccess(payload.getResourceId());
sendEvent(context, clusterProxyRegistrationSuccess);
}
}
@Override
protected Selectable createRequest(StackCreationContext context) {
return new ClusterProxyRegistrationRequest(context.getStack().getId(), context.getStack().cloudPlatform());
}
};
}
use of com.sequenceiq.cloudbreak.reactor.api.event.orchestration.ClusterProxyRegistrationRequest in project cloudbreak by hortonworks.
the class ClusterProxyRegistrationHandler method accept.
@Override
public void accept(Event<ClusterProxyRegistrationRequest> event) {
ClusterProxyRegistrationRequest request = event.getData();
Selectable response = registerCluster(request);
eventBus.notify(response.selector(), new Event<>(event.getHeaders(), response));
}
Aggregations