Skip to content

update client for terra-boot service #2493

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 25, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.api.TerraformFromGitRepoApi;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.api.TerraformFromScriptsApi;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.TerraformPlan;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.TerraformPlanFromGitRepoRequest;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.TerraformPlanWithScriptsRequest;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.TerraformRequestWithScripts;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.TerraformRequestWithScriptsGitRepo;
import org.eclipse.xpanse.modules.orchestrator.deployment.DeployTask;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Component;
Expand All @@ -35,32 +35,34 @@ public TerraBootDeploymentPlanManage(

/** Method to get terraform plan from scripts provided in OCL. */
public TerraformPlan getTerraformPlanFromScripts(DeployTask deployTask) {
return terraformFromScriptsApi.planWithScripts(getPlanWithScriptsRequest(deployTask));
return terraformFromScriptsApi.planWithScripts(getPlanWithScripts(deployTask));
}

/** Method to get terraform plan from scripts provided in GIT repo. */
public TerraformPlan getTerraformPlanFromGitRepo(DeployTask deployTask) {
return terraformFromGitRepoApi.planFromGitRepo(getPlanFromGitRepoRequest(deployTask));
}

private TerraformPlanWithScriptsRequest getPlanWithScriptsRequest(DeployTask task) {
TerraformPlanWithScriptsRequest request = new TerraformPlanWithScriptsRequest();
private TerraformRequestWithScripts getPlanWithScripts(DeployTask task) {
TerraformRequestWithScripts request = new TerraformRequestWithScripts();
request.setRequestId(task.getOrderId());
request.setRequestType(TerraformRequestWithScripts.RequestTypeEnum.PLAN);
request.setTerraformVersion(task.getOcl().getDeployment().getDeployerTool().getVersion());
request.setScriptFiles(task.getOcl().getDeployment().getScriptFiles());
request.setVariables(terraBootHelper.getInputVariables(task, true));
request.setEnvVariables(terraBootHelper.getEnvironmentVariables(task));
return request;
}

private TerraformPlanFromGitRepoRequest getPlanFromGitRepoRequest(DeployTask task) {
TerraformPlanFromGitRepoRequest request = new TerraformPlanFromGitRepoRequest();
private TerraformRequestWithScriptsGitRepo getPlanFromGitRepoRequest(DeployTask task) {
TerraformRequestWithScriptsGitRepo request = new TerraformRequestWithScriptsGitRepo();
request.setRequestId(task.getOrderId());
request.setRequestType(TerraformRequestWithScriptsGitRepo.RequestTypeEnum.PLAN);
request.setTerraformVersion(task.getOcl().getDeployment().getDeployerTool().getVersion());
request.setVariables(terraBootHelper.getInputVariables(task, true));
request.setEnvVariables(terraBootHelper.getEnvironmentVariables(task));
request.setGitRepoDetails(
terraBootHelper.convertTerraformScriptGitRepoDetailsFromDeployFromGitRepo(
terraBootHelper.convertTerraformScriptsGitRepoDetailsFromDeployFromGitRepo(
task.getOcl().getDeployment().getScriptsRepo()));
return request;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import org.apache.commons.lang3.StringUtils;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.exceptions.TerraBootRequestFailedException;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.config.TerraBootConfig;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.TerraformScriptGitRepoDetails;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.TerraformScriptsGitRepoDetails;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.WebhookConfig;
import org.eclipse.xpanse.modules.deployment.utils.DeployEnvironments;
import org.eclipse.xpanse.modules.models.response.ErrorType;
Expand Down Expand Up @@ -41,11 +41,11 @@ public TerraBootHelper(TerraBootConfig terraBootConfig, DeployEnvironments deplo
this.deployEnvironments = deployEnvironments;
}

/** Converts OCL DeployFromGitRepo type to terra-boot TerraformScriptGitRepoDetails type. */
public TerraformScriptGitRepoDetails convertTerraformScriptGitRepoDetailsFromDeployFromGitRepo(
ScriptsRepo scriptsRepo) {
TerraformScriptGitRepoDetails terraformScriptGitRepoDetails =
new TerraformScriptGitRepoDetails();
/** Converts OCL DeployFromGitRepo type to terra-boot TerraformScriptsGitRepoDetails type. */
public TerraformScriptsGitRepoDetails
convertTerraformScriptsGitRepoDetailsFromDeployFromGitRepo(ScriptsRepo scriptsRepo) {
TerraformScriptsGitRepoDetails terraformScriptGitRepoDetails =
new TerraformScriptsGitRepoDetails();
terraformScriptGitRepoDetails.setRepoUrl(scriptsRepo.getRepoUrl());
terraformScriptGitRepoDetails.setBranch(scriptsRepo.getBranch());
terraformScriptGitRepoDetails.setScriptPath(scriptsRepo.getScriptsPath());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,6 @@ public class TerraBootManager {
@Value("${terra-boot.endpoint:http://localhost:9090}")
private String terraBootBaseUrl;

@Resource private TerraBootHelper terraBootHelper;

/**
* Get system status of TerraBoot.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
import org.eclipse.xpanse.modules.deployment.deployers.terraform.exceptions.TerraBootRequestFailedException;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.api.TerraformFromGitRepoApi;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.api.TerraformFromScriptsApi;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.TerraformDeployFromGitRepoRequest;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.TerraformDeployWithScriptsRequest;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.TerraformRequestWithScripts;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.TerraformRequestWithScriptsGitRepo;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.TerraformValidationResult;
import org.eclipse.xpanse.modules.models.servicetemplate.Deployment;
import org.eclipse.xpanse.modules.orchestrator.deployment.DeploymentScriptValidationResult;
Expand Down Expand Up @@ -94,24 +94,25 @@ public DeploymentScriptValidationResult validateTerraformScriptsFromGitRepo(
return deploymentScriptValidationResult;
}

private TerraformDeployWithScriptsRequest getValidateScriptsInOclRequest(
Deployment deployment) {
TerraformDeployWithScriptsRequest request = new TerraformDeployWithScriptsRequest();
private TerraformRequestWithScripts getValidateScriptsInOclRequest(Deployment deployment) {
TerraformRequestWithScripts request = new TerraformRequestWithScripts();
request.setRequestId(getRequestId());
request.setRequestType(TerraformRequestWithScripts.RequestTypeEnum.VALIDATE);
request.setTerraformVersion(deployment.getDeployerTool().getVersion());
request.setIsPlanOnly(false);
request.setScriptFiles(deployment.getScriptFiles());
return request;
}

private TerraformDeployFromGitRepoRequest getValidateScriptsInGitRepoRequest(
private TerraformRequestWithScriptsGitRepo getValidateScriptsInGitRepoRequest(
Deployment deployment) {
TerraformDeployFromGitRepoRequest request = new TerraformDeployFromGitRepoRequest();
TerraformRequestWithScriptsGitRepo request = new TerraformRequestWithScriptsGitRepo();
request.setRequestId(getRequestId());
request.setRequestType(TerraformRequestWithScriptsGitRepo.RequestTypeEnum.VALIDATE);
request.setTerraformVersion(deployment.getDeployerTool().getVersion());
request.setIsPlanOnly(false);
request.setGitRepoDetails(
terraBootHelper.convertTerraformScriptGitRepoDetailsFromDeployFromGitRepo(
terraBootHelper.convertTerraformScriptsGitRepoDetailsFromDeployFromGitRepo(
deployment.getScriptsRepo()));
return request;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
import org.eclipse.xpanse.modules.deployment.deployers.terraform.exceptions.TerraBootRequestFailedException;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.api.TerraformFromGitRepoApi;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.api.TerraformFromScriptsApi;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.TerraformAsyncDeployFromGitRepoRequest;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.TerraformAsyncDeployFromScriptsRequest;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.TerraformAsyncRequestWithScripts;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.TerraformAsyncRequestWithScriptsGitRepo;
import org.eclipse.xpanse.modules.models.service.deployment.DeployResult;
import org.eclipse.xpanse.modules.orchestrator.deployment.DeployTask;
import org.springframework.context.annotation.Profile;
Expand Down Expand Up @@ -40,7 +40,7 @@ public TerraBootServiceDeployer(
/** method to perform service deployment using scripts provided in OCL. */
public DeployResult deployFromScripts(DeployTask deployTask) {
DeployResult result = new DeployResult();
TerraformAsyncDeployFromScriptsRequest request = getDeployFromScriptsRequest(deployTask);
TerraformAsyncRequestWithScripts request = getDeployFromScriptsRequest(deployTask);
try {
terraformFromScriptsApi.asyncDeployWithScripts(request);
result.setOrderId(deployTask.getOrderId());
Expand All @@ -53,7 +53,7 @@ public DeployResult deployFromScripts(DeployTask deployTask) {
/** method to perform service deployment using scripts form GIT repo. */
public DeployResult deployFromGitRepo(DeployTask deployTask) {
DeployResult result = new DeployResult();
TerraformAsyncDeployFromGitRepoRequest request = getDeployFromGitRepoRequest(deployTask);
TerraformAsyncRequestWithScriptsGitRepo request = getDeployFromGitRepoRequest(deployTask);
try {
terraformFromGitRepoApi.asyncDeployFromGitRepo(request);
result.setOrderId(deployTask.getOrderId());
Expand All @@ -63,10 +63,10 @@ public DeployResult deployFromGitRepo(DeployTask deployTask) {
}
}

private TerraformAsyncDeployFromScriptsRequest getDeployFromScriptsRequest(DeployTask task) {
TerraformAsyncDeployFromScriptsRequest request =
new TerraformAsyncDeployFromScriptsRequest();
private TerraformAsyncRequestWithScripts getDeployFromScriptsRequest(DeployTask task) {
TerraformAsyncRequestWithScripts request = new TerraformAsyncRequestWithScripts();
request.setRequestId(task.getOrderId());
request.setRequestType(TerraformAsyncRequestWithScripts.RequestTypeEnum.DEPLOY);
request.setTerraformVersion(task.getOcl().getDeployment().getDeployerTool().getVersion());
request.setIsPlanOnly(false);
request.setScriptFiles(task.getOcl().getDeployment().getScriptFiles());
Expand All @@ -76,17 +76,18 @@ private TerraformAsyncDeployFromScriptsRequest getDeployFromScriptsRequest(Deplo
return request;
}

private TerraformAsyncDeployFromGitRepoRequest getDeployFromGitRepoRequest(DeployTask task) {
TerraformAsyncDeployFromGitRepoRequest request =
new TerraformAsyncDeployFromGitRepoRequest();
private TerraformAsyncRequestWithScriptsGitRepo getDeployFromGitRepoRequest(DeployTask task) {
TerraformAsyncRequestWithScriptsGitRepo request =
new TerraformAsyncRequestWithScriptsGitRepo();
request.setRequestId(task.getOrderId());
request.setRequestType(TerraformAsyncRequestWithScriptsGitRepo.RequestTypeEnum.DEPLOY);
request.setTerraformVersion(task.getOcl().getDeployment().getDeployerTool().getVersion());
request.setIsPlanOnly(false);
request.setVariables(terraBootHelper.getInputVariables(task, true));
request.setEnvVariables(terraBootHelper.getEnvironmentVariables(task));
request.setWebhookConfig(terraBootHelper.getWebhookConfigWithTask(task));
request.setGitRepoDetails(
terraBootHelper.convertTerraformScriptGitRepoDetailsFromDeployFromGitRepo(
terraBootHelper.convertTerraformScriptsGitRepoDetailsFromDeployFromGitRepo(
task.getOcl().getDeployment().getScriptsRepo()));
return request;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
import org.eclipse.xpanse.modules.deployment.deployers.terraform.exceptions.TerraBootRequestFailedException;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.api.TerraformFromGitRepoApi;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.api.TerraformFromScriptsApi;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.TerraformAsyncDestroyFromGitRepoRequest;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.TerraformAsyncDestroyFromScriptsRequest;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.TerraformAsyncRequestWithScripts;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.terraboot.generated.model.TerraformAsyncRequestWithScriptsGitRepo;
import org.eclipse.xpanse.modules.deployment.deployers.terraform.utils.TfResourceTransUtils;
import org.eclipse.xpanse.modules.models.service.deployment.DeployResult;
import org.eclipse.xpanse.modules.orchestrator.deployment.DeployTask;
Expand Down Expand Up @@ -49,7 +49,7 @@ public DeployResult destroyFromScripts(DeployTask deployTask) {
deploymentEntityHandler.getServiceDeploymentEntity(deployTask.getServiceId());
String resourceState = TfResourceTransUtils.getStoredStateContent(serviceDeploymentEntity);
DeployResult result = new DeployResult();
TerraformAsyncDestroyFromScriptsRequest request =
TerraformAsyncRequestWithScripts request =
getDestroyFromScriptsRequest(deployTask, resourceState);
try {
terraformFromScriptsApi.asyncDestroyWithScripts(request);
Expand All @@ -66,7 +66,7 @@ public DeployResult destroyFromGitRepo(DeployTask deployTask) {
deploymentEntityHandler.getServiceDeploymentEntity(deployTask.getServiceId());
String resourceState = TfResourceTransUtils.getStoredStateContent(serviceDeploymentEntity);
DeployResult result = new DeployResult();
TerraformAsyncDestroyFromGitRepoRequest request =
TerraformAsyncRequestWithScriptsGitRepo request =
getDestroyFromGitRepoRequest(deployTask, resourceState);
try {
terraformFromGitRepoApi.asyncDestroyFromGitRepo(request);
Expand All @@ -77,11 +77,11 @@ public DeployResult destroyFromGitRepo(DeployTask deployTask) {
}
}

private TerraformAsyncDestroyFromScriptsRequest getDestroyFromScriptsRequest(
private TerraformAsyncRequestWithScripts getDestroyFromScriptsRequest(
DeployTask task, String stateFile) throws TerraBootRequestFailedException {
TerraformAsyncDestroyFromScriptsRequest request =
new TerraformAsyncDestroyFromScriptsRequest();
TerraformAsyncRequestWithScripts request = new TerraformAsyncRequestWithScripts();
request.setRequestId(task.getOrderId());
request.setRequestType(TerraformAsyncRequestWithScripts.RequestTypeEnum.DESTROY);
request.setTerraformVersion(task.getOcl().getDeployment().getDeployerTool().getVersion());
request.setScriptFiles(task.getOcl().getDeployment().getScriptFiles());
request.setTfState(stateFile);
Expand All @@ -91,18 +91,19 @@ private TerraformAsyncDestroyFromScriptsRequest getDestroyFromScriptsRequest(
return request;
}

private TerraformAsyncDestroyFromGitRepoRequest getDestroyFromGitRepoRequest(
private TerraformAsyncRequestWithScriptsGitRepo getDestroyFromGitRepoRequest(
DeployTask task, String stateFile) throws TerraBootRequestFailedException {
TerraformAsyncDestroyFromGitRepoRequest request =
new TerraformAsyncDestroyFromGitRepoRequest();
TerraformAsyncRequestWithScriptsGitRepo request =
new TerraformAsyncRequestWithScriptsGitRepo();
request.setRequestId(task.getOrderId());
request.setRequestType(TerraformAsyncRequestWithScriptsGitRepo.RequestTypeEnum.DESTROY);
request.setTerraformVersion(task.getOcl().getDeployment().getDeployerTool().getVersion());
request.setTfState(stateFile);
request.setVariables(terraBootHelper.getInputVariables(task, false));
request.setEnvVariables(terraBootHelper.getEnvironmentVariables(task));
request.setWebhookConfig(terraBootHelper.getWebhookConfigWithTask(task));
request.setGitRepoDetails(
terraBootHelper.convertTerraformScriptGitRepoDetailsFromDeployFromGitRepo(
terraBootHelper.convertTerraformScriptsGitRepoDetailsFromDeployFromGitRepo(
task.getOcl().getDeployment().getScriptsRepo()));
return request;
}
Expand Down
Loading
Loading