use of alien4cloud.deployment.DeploymentTopologyDTO in project alien4cloud by alien4cloud.
the class NodeMatchingStepDefinitions method checkSubstitutionCounts.
@Then("^Available substitution should contains (\\d+) proposal including (\\d+) service$")
public void checkSubstitutionCounts(int proposals, int services) throws Throwable {
RestResponse<DeploymentTopologyDTO> restResponse = JsonUtil.read(Context.getInstance().getRestResponse(), DeploymentTopologyDTO.class);
Assert.assertEquals(proposals, restResponse.getData().getAvailableSubstitutions().getSubstitutionsTemplates().size());
int actualServices = 0;
for (LocationResourceTemplate resourceTemplate : restResponse.getData().getAvailableSubstitutions().getSubstitutionsTemplates().values()) {
if (resourceTemplate.isService()) {
actualServices++;
}
}
Assert.assertEquals(services, actualServices);
}
use of alien4cloud.deployment.DeploymentTopologyDTO in project alien4cloud by alien4cloud.
the class ApplicationDeploymentController method doDeploy.
private RestResponse<?> doDeploy(DeployApplicationRequest deployApplicationRequest, Application application, ApplicationEnvironment environment, Topology topology) {
DeploymentTopologyDTO deploymentTopologyDTO = deploymentTopologyDTOBuilder.prepareDeployment(topology, application, environment);
TopologyValidationResult validation = deploymentTopologyDTO.getValidation();
// if not valid, then return validation errors
if (!validation.isValid()) {
return RestResponseBuilder.<TopologyValidationResult>builder().error(new RestError(RestErrorCode.INVALID_DEPLOYMENT_TOPOLOGY.getCode(), "The deployment topology for the application <" + application.getName() + "> on the environment <" + environment.getName() + "> is not valid.")).data(validation).build();
}
User deployer = AuthorizationUtil.getCurrentUser();
// commit and push the deployment configuration data
GitLocation location = gitLocationDao.findDeploymentSetupLocation(application.getId(), environment.getId());
localGitManager.commitAndPush(location, deployer.getUsername(), deployer.getEmail(), "Deployment " + DateTime.now(DateTimeZone.UTC));
// the request contains secret provider credentials?
SecretProviderCredentials secretProviderCredentials = null;
if (deployApplicationRequest.getSecretProviderCredentials() != null && deployApplicationRequest.getSecretProviderPluginName() != null) {
secretProviderCredentials = new SecretProviderCredentials();
secretProviderCredentials.setCredentials(deployApplicationRequest.getSecretProviderCredentials());
secretProviderCredentials.setPluginName(deployApplicationRequest.getSecretProviderPluginName());
}
// process with the deployment
deployService.deploy(deployer, secretProviderCredentials, deploymentTopologyDTO.getTopology(), application);
return RestResponseBuilder.<Void>builder().build();
}
Aggregations