Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.spotinst.sdkjava.model.SpotinstElastigroupRepo Maven / Gradle / Ivy
package com.spotinst.sdkjava.model;
import com.spotinst.sdkjava.enums.ProcessNameEnum;
import com.spotinst.sdkjava.exception.ExceptionHelper;
import com.spotinst.sdkjava.exception.SpotinstHttpException;
import com.spotinst.sdkjava.model.api.elastigroup.aws.*;
import com.spotinst.sdkjava.model.bl.elastigroup.aws.*;
import com.spotinst.sdkjava.model.converters.elastigroup.aws.ItfMigrationConverter;
import com.spotinst.sdkjava.model.converters.elastigroup.aws.ScalingPoliciesSuspensionConverter;
import com.spotinst.sdkjava.model.converters.elastigroup.aws.StatefulElastigroupConverter;
import com.spotinst.sdkjava.model.requests.elastigroup.ElastigroupInstanceLockRequest;
import com.spotinst.sdkjava.model.requests.elastigroup.ElastigroupInstanceUnLockRequest;
import com.spotinst.sdkjava.model.requests.elastigroup.aws.*;
import java.util.List;
import java.util.stream.Collectors;
/**
* Created by talzur on 11/01/2017.
*/
class SpotinstElastigroupRepo implements ISpotinstElastigroupRepo {
@Override
public RepoGenericResponse create(Elastigroup elastigroupToCreate, String authToken, String account) {
RepoGenericResponse retVal;
try {
ApiElastigroup apiElastigroupToCreate = ElastigroupConverter.toDal(elastigroupToCreate);
ApiElastigroup apiCreatedElastigroup =
SpotinstElastigroupService.createElastigroup(apiElastigroupToCreate, authToken, account);
Elastigroup createdElastigroup = ElastigroupConverter.toBl(apiCreatedElastigroup);
retVal = new RepoGenericResponse<>(createdElastigroup);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse delete(String identifier, String authToken, String account) {
RepoGenericResponse retVal;
try {
Boolean updated = SpotinstElastigroupService.deleteElastigroup(identifier, authToken, account);
retVal = new RepoGenericResponse<>(updated);
}
catch (SpotinstHttpException e) {
retVal = ExceptionHelper.handleHttpException(e);
}
return retVal;
}
@Override
public RepoGenericResponse delete(String elastigroupId, String authToken, String account,
ApiDeleteGroupRequest deleteRequest) {
RepoGenericResponse retVal;
try {
Boolean updated =
SpotinstElastigroupService.deleteElastigroup(elastigroupId, authToken, account, deleteRequest);
retVal = new RepoGenericResponse<>(updated);
}
catch (SpotinstHttpException e) {
retVal = ExceptionHelper.handleHttpException(e);
}
return retVal;
}
@Override
public RepoGenericResponse detachInstances(String elastigroupId,
ElastigroupDetachInstancesRequest detachRequest,
String authToken, String account) {
RepoGenericResponse retVal;
try {
ApiDetachInstancesRequest apiDetachRequest = ApiDetachInstancesRequestConverter.toDal(detachRequest);
SpotinstElastigroupService.detachInstances(elastigroupId, apiDetachRequest, authToken, account);
retVal = new RepoGenericResponse<>(new Boolean(true));
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse update(String elastigroupId, Elastigroup groupUpdate, String authToken,
String account) {
RepoGenericResponse retVal;
ApiElastigroup apiElastigroup = ElastigroupConverter.toDal(groupUpdate);
try {
Boolean success = SpotinstElastigroupService.updateGroup(elastigroupId, apiElastigroup, authToken, account);
retVal = new RepoGenericResponse<>(success);
}
catch (SpotinstHttpException e) {
retVal = ExceptionHelper.handleHttpException(e);
}
return retVal;
}
@Override
public RepoGenericResponse get(String elastigroupId, String authToken, String account) {
RepoGenericResponse retVal;
try {
ApiElastigroup apiElastigroup = SpotinstElastigroupService.getGroup(elastigroupId, authToken, account);
Elastigroup elastigroup = ElastigroupConverter.toBl(apiElastigroup);
retVal = new RepoGenericResponse<>(elastigroup);
}
catch (SpotinstHttpException e) {
retVal = ExceptionHelper.handleHttpException(e);
}
return retVal;
}
@Override
public RepoGenericResponse> getAll(GroupFilter filter, String authToken, String account) {
RepoGenericResponse> retVal;
try {
List apiElastigroups = SpotinstElastigroupService.getAllGroups(filter, authToken, account);
List elastigroups =
apiElastigroups.stream().map(ElastigroupConverter::toBl).collect(Collectors.toList());
retVal = new RepoGenericResponse<>(elastigroups);
}
catch (SpotinstHttpException e) {
retVal = ExceptionHelper.handleHttpException(e);
}
return retVal;
}
/**
* This function is used to scale up an Elastigroup. It is called from the SpotinstElastigroupClient.scaleUp() function
* It sends the request to SpotinstElastigroupService.scaleGroupUp() then formats the response to get a Scaling Response
*
* @param scalingRequest ElastigroupScalingRequest object that is sent from SpotinstElastigroupClient
* @param authToken User Spotinst API token
* @param account User Spotinst account ID
* @return elastigroupScalingResponse
*/
@Override
public RepoGenericResponse scaleUp(ElastigroupScalingRequest scalingRequest,
String authToken, String account) {
RepoGenericResponse retVal;
try {
ApiElastigroupScalingResponse apiElastigroupScalingResponse =
SpotinstElastigroupService.scaleGroupUp(scalingRequest, authToken, account);
// Convert
ElastigroupScalingResponse elastigroupScalingResponse =
ApiElastigroupScalingResponseConverter.dalToBl(apiElastigroupScalingResponse);
retVal = new RepoGenericResponse<>(elastigroupScalingResponse);
}
catch (SpotinstHttpException e) {
retVal = ExceptionHelper.handleHttpException(e);
}
return retVal;
}
/**
* This function is used to scale down an Elastigroup. It is called from the SpotinstElastigroupClient.scaleDown() function
* It sends the request to SpotinstElastigroupService.scaleGroupDown() then formats the response to get a Scaling Response
*
* @param scalingRequest ElastigroupScalingRequest object that is sent from SpotinstElastigroupClient
* @param authToken User Spotinst API token
* @param account User Spotinst account ID
* @return elastigroupScalingResponse
*/
@Override
public RepoGenericResponse scaleDown(ElastigroupScalingRequest scalingRequest,
String authToken, String account) {
RepoGenericResponse retVal;
try {
ApiElastigroupScalingResponse apiElastigroupScalingResponse =
SpotinstElastigroupService.scaleGroupDown(scalingRequest, authToken, account);
// Convert
ElastigroupScalingResponse elastigroupScalingResponse =
ApiElastigroupScalingResponseConverter.dalToBl(apiElastigroupScalingResponse);
retVal = new RepoGenericResponse<>(elastigroupScalingResponse);
}
catch (SpotinstHttpException e) {
retVal = ExceptionHelper.handleHttpException(e);
}
return retVal;
}
@Override
public RepoGenericResponse clone(String sourceElastigroupId, Elastigroup groupModifications,
String authToken, String account) {
RepoGenericResponse retVal;
ApiElastigroup apiGroupModifications = ElastigroupConverter.toDal(groupModifications);
try {
ApiElastigroup apiClonedElastigroup = SpotinstElastigroupService
.cloneGroup(sourceElastigroupId, apiGroupModifications, authToken, account);
Elastigroup clonedElastigroup = ElastigroupConverter.toBl(apiClonedElastigroup);
retVal = new RepoGenericResponse<>(clonedElastigroup);
}
catch (SpotinstHttpException e) {
retVal = ExceptionHelper.handleHttpException(e);
}
return retVal;
}
@Override
public RepoGenericResponse enterInstanceStandby(String instanceId, String authToken, String account) {
RepoGenericResponse retVal;
try {
Boolean success = SpotinstElastigroupService.enterInstanceStandby(instanceId, authToken, account);
retVal = new RepoGenericResponse<>(success);
}
catch (SpotinstHttpException e) {
retVal = ExceptionHelper.handleHttpException(e);
}
return retVal;
}
@Override
public RepoGenericResponse exitInstanceStandby(String instanceId, String authToken, String account) {
RepoGenericResponse retVal;
try {
Boolean success = SpotinstElastigroupService.exitInstanceStandby(instanceId, authToken, account);
retVal = new RepoGenericResponse<>(success);
}
catch (SpotinstHttpException e) {
retVal = ExceptionHelper.handleHttpException(e);
}
return retVal;
}
@Override
public RepoGenericResponse suspendProcesses(String groupId, List suspensions,
String authToken, String account) {
RepoGenericResponse retVal;
ApiSuspendProcessesRequest request = new ApiSuspendProcessesRequest();
List apiSuspensions =
suspensions.stream().map(ApiProcessSuspensionConverter::toDal).collect(Collectors.toList());
request.setSuspensions(apiSuspensions);
try {
ApiSuspendedProcesses apiResponse =
SpotinstElastigroupService.suspendProcesses(groupId, request, authToken, account);
SuspendedProcesses suspendedProcesses = ApiProcessSuspensionConverter.toBl(apiResponse);
retVal = new RepoGenericResponse<>(suspendedProcesses);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse removeSuspensions(String elastigroupId,
List processes, String authToken,
String account) {
RepoGenericResponse retVal;
ApiRemoveSuspensionsRequest request = new ApiRemoveSuspensionsRequest();
List processNames = processes.stream().map(ProcessNameEnum::getName).collect(Collectors.toList());
request.setProcesses(processNames);
try {
ApiSuspendedProcesses apiResponse =
SpotinstElastigroupService.removeSuspensions(elastigroupId, request, authToken, account);
SuspendedProcesses suspendedProcesses = ApiProcessSuspensionConverter.toBl(apiResponse);
retVal = new RepoGenericResponse<>(suspendedProcesses);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse getSuspendedProcesses(String elastigroupId, String authToken,
String account) {
RepoGenericResponse retVal;
try {
ApiSuspendedProcesses apiResponse =
SpotinstElastigroupService.getSuspendedProcesses(elastigroupId, authToken, account);
SuspendedProcesses suspendedProcesses = ApiProcessSuspensionConverter.toBl(apiResponse);
retVal = new RepoGenericResponse<>(suspendedProcesses);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse lockInstance(ElastigroupInstanceLockRequest lockRequest,
String authToken, String instanceId) {
RepoGenericResponse retVal;
try {
Boolean success = SpotinstElastigroupService.lockInstance(lockRequest, authToken, instanceId);
retVal = new RepoGenericResponse<>(success);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse unlockInstance(ElastigroupInstanceUnLockRequest unlockRequest,
String authToken, String instanceId) {
RepoGenericResponse retVal;
try {
Boolean success = SpotinstElastigroupService.unlockInstance(unlockRequest, authToken, instanceId);
retVal = new RepoGenericResponse<>(success);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse simulateInstanceInterruption(String authToken, String account, List instanceIds) {
RepoGenericResponse retVal;
try {
Boolean success = SpotinstElastigroupService.simulateInstanceInterruption(authToken, account, instanceIds);
retVal = new RepoGenericResponse<>(success);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse suspendScalingPolicies(String elastiGroupId, String policyName,
ScalingPolicySuspension suspensions,
String authToken, String account) {
RepoGenericResponse retVal;
ApiScalingPolicySuspension apiSuspensions = ScalingPoliciesSuspensionConverter.toDal(suspensions);
try {
ApiSuspendedScalingPolicy apiResponse = SpotinstElastigroupService
.suspendScalingPolicies(elastiGroupId, policyName, apiSuspensions, authToken, account);
SuspendedScalingPolicy suspendedProcesses = ScalingPoliciesSuspensionConverter.toBl(apiResponse);
retVal = new RepoGenericResponse<>(suspendedProcesses);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse getAllSuspendedScalingPolicies(String elastiGroupId,
String authToken,
String account) {
RepoGenericResponse retVal;
try {
ApiSuspendedScalingPoliciesList suspendedApiResponse =
SpotinstElastigroupService.getSuspendedScalingPolicies(elastiGroupId, authToken, account);
SuspendedScalingPoliciesList allSuspendedScalingPolicies =
ScalingPoliciesSuspensionConverter.toBl(suspendedApiResponse);
retVal = new RepoGenericResponse<>(allSuspendedScalingPolicies);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse removeSuspendedScalingPolicies(String elastiGroupId, String policyName,
String authToken, String account) {
RepoGenericResponse retVal;
try {
Boolean removeStatus =
SpotinstElastigroupService.removeSuspendScalingPolicies(elastiGroupId, policyName, authToken, account);
retVal = new RepoGenericResponse<>(removeStatus);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse startDeployment(String elastigroupId, ElastigroupStartDeployment elastiGroupDeployment,
String authToken, String account) {
RepoGenericResponse retVal;
try {
ApiElastigroupStartDeploymentResponse apiElastigroupDeployment = SpotinstElastigroupService
.startDeployment(elastigroupId, elastiGroupDeployment, authToken, account);
ElastigroupStartDeploymentResponse
startDeploymentResponse = ElastigroupConverter.toBl(apiElastigroupDeployment);
retVal = new RepoGenericResponse<>(startDeploymentResponse);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse stopDeployment(
ElastigroupStopDeploymentRequest elastiGroupDeployment, String elastigroupId, String deploymentId,
String authToken, String account) {
RepoGenericResponse retVal;
try {
ApiElastigroupStopDeploymentResponse apiStopDeployment = SpotinstElastigroupService
.stopDeployment(elastiGroupDeployment, elastigroupId, deploymentId, authToken, account);
ElastigroupStopDeploymentResponse stopDeploymentResponse = ElastigroupConverter.toBl(apiStopDeployment);
retVal = new RepoGenericResponse<>(stopDeploymentResponse);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse getDeploymentStatus(String elastigroupId, String deploymentId,
String authToken, String account) {
RepoGenericResponse retVal;
try {
ApiElastigroupGetDeploymentStatusResponse apiElastigroupGetDeploymentStatusResponse = SpotinstElastigroupService
.getDeploymentStatus(elastigroupId, deploymentId, authToken, account);
ElastigroupGetDeploymentStatusResponse
getDeploymentResponse = ElastigroupConverter.toBl(apiElastigroupGetDeploymentStatusResponse);
retVal = new RepoGenericResponse<>(getDeploymentResponse);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse> getGroupDeploymentStatus(String elastigroupId, String authToken, String account) {
RepoGenericResponse> retVal ;
try {
List apiElastigroupGetGroupDeploymentStatusResponse = SpotinstElastigroupService
.getGroupDeploymentStatus(elastigroupId, authToken, account);
List getGroupDeploymentResponse =
apiElastigroupGetGroupDeploymentStatusResponse.stream().map(ElastigroupConverter::toBl).collect(Collectors.toList());
retVal = new RepoGenericResponse<>(getGroupDeploymentResponse);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse applyDeploymentAction(
ElastigroupDeploymentStrategyOnFailure elastigroupGetDeploymentActionRequest, String elastigroupId, String deploymentId , String authToken, String account) {
RepoGenericResponse retVal ;
try {
ApiElastigroupGetDeploymentActionResponse apiElastigroupGetDeploymentActionResponse = SpotinstElastigroupService
.applyDeploymentAction(elastigroupGetDeploymentActionRequest, elastigroupId, deploymentId, authToken, account);
ElastigroupGetDeploymentActionResponse
getDeploymentActionResponse = ElastigroupConverter.toBl(apiElastigroupGetDeploymentActionResponse);
retVal = new RepoGenericResponse<>(getDeploymentActionResponse);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse> getItfMigrationRulesStatus(String elastiGroupId,
String authToken,
String account) {
RepoGenericResponse> retVal;
try {
List getMigrationApiResponse =
SpotinstElastigroupService.getItfMigrationRulesStatus(elastiGroupId, authToken, account);
List list =
getMigrationApiResponse.stream().map(ItfMigrationConverter::toBl)
.collect(Collectors.toList());
retVal = new RepoGenericResponse<>(list);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse retryItfMigration(String elastiGroupId, RetryItfMigrationRequest request,
String authToken, String account) {
RepoGenericResponse retVal;
try {
ApiRetryItfMigrationRequest apiRequest = ItfMigrationConverter.toDal(request);
Boolean retryItfMigrationResponse =
SpotinstElastigroupService.retryItfMigration(elastiGroupId,apiRequest, authToken, account);
retVal = new RepoGenericResponse<>(retryItfMigrationResponse);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse updateCapacity(String elastigroupId, ElastigroupUpdateCapacityConfiguration elastiGroupUpdateCapacity,
String authToken, String account) {
RepoGenericResponse retVal;
try {
Boolean updateCapacityResponse = SpotinstElastigroupService
.updateCapacity(elastigroupId, elastiGroupUpdateCapacity, authToken, account);
retVal = new RepoGenericResponse<>(updateCapacityResponse);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse importEC2Instance(ElastigroupImportEC2Instance elastigroupImportInstance, String instanceId, String region, String authToken, String account) {
RepoGenericResponse retVal;
try {
ApiElastigroup importEC2Instance = SpotinstElastigroupService
.importEC2Instance(elastigroupImportInstance, instanceId, region, authToken, account);
Elastigroup importedEC2Instance = ElastigroupConverter.toBl(importEC2Instance);
retVal = new RepoGenericResponse<>(importedEC2Instance);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse pauseStatefulInstance(String elastigroupId, String statefulInstanceId, String authToken, String account) {
RepoGenericResponse retVal;
try {
Boolean pauseStatefulInstanceResponse = SpotinstElastigroupService
.pauseStatefulInstance(elastigroupId, statefulInstanceId, authToken, account);
retVal = new RepoGenericResponse<>(pauseStatefulInstanceResponse);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse resumeStatefulInstance(String elastigroupId, String statefulInstanceId,
String authToken, String account) {
RepoGenericResponse retVal;
try {
Boolean resumeStatefulInstanceResponse = SpotinstElastigroupService
.resumeStatefulInstance(elastigroupId, statefulInstanceId, authToken, account);
retVal = new RepoGenericResponse<>(resumeStatefulInstanceResponse);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse recycleStatefulInstance(String elastigroupId, String statefulInstanceId,
String authToken, String account) {
RepoGenericResponse retVal;
try {
Boolean recycleStatefulInstanceResponse = SpotinstElastigroupService
.recycleStatefulInstance(elastigroupId, statefulInstanceId, authToken, account);
retVal = new RepoGenericResponse<>(recycleStatefulInstanceResponse);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse deallocateStatefulInstance(String elastigroupId, String statefulInstanceId,
String authToken, String account) {
RepoGenericResponse retVal;
try {
Boolean deallocateStatefulInstanceResponse = SpotinstElastigroupService
.deallocateStatefulInstance(elastigroupId, statefulInstanceId, authToken, account);
retVal = new RepoGenericResponse<>(deallocateStatefulInstanceResponse);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse> listStatefulInstances(String elastigroupId, String authToken, String account) {
RepoGenericResponse> retVal;
try {
List listStatefulInstances = SpotinstElastigroupService
.listStatefulInstances(elastigroupId, authToken, account);
List statefulInstances = listStatefulInstances.stream().map(StatefulElastigroupConverter::toBl)
.collect(Collectors.toList());
retVal = new RepoGenericResponse<>(statefulInstances);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse deleteVolumeInStatefulInstance(String elastigroupId, String statefulInstanceId, String volumeId, String authToken, String account) {
RepoGenericResponse retVal;
try {
Boolean deleteVolumeInStatefulInstanceResponse = SpotinstElastigroupService
.deleteVolumeInStatefulInstance(elastigroupId, statefulInstanceId, volumeId, authToken, account);
retVal = new RepoGenericResponse<>(deleteVolumeInStatefulInstanceResponse);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse> getElastilog(ElastigroupGetElastilogRequest elastigroupGetElastilogRequest, String elastigroupId, String authToken) {
RepoGenericResponse> retVal;
try {
List getLogs = SpotinstElastigroupService
.getElastilog(elastigroupGetElastilogRequest, elastigroupId, authToken);
List getAllLogs = getLogs.stream().map(StatefulElastigroupConverter::toBl)
.collect(Collectors.toList());
retVal = new RepoGenericResponse<>(getAllLogs);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse importASG(ImportASGRequest importASGRequest, String authToken) {
RepoGenericResponse retVal;
try {
ApiElastigroup importASG = SpotinstElastigroupService
.importASG(importASGRequest, authToken);
Elastigroup importedASG = ElastigroupConverter.toBl(importASG);
retVal = new RepoGenericResponse<>(importedASG);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse> getInstanceTypesByRegion(String region, String authToken, String account) {
RepoGenericResponse> retVal;
try {
List getInstanceTypes = SpotinstElastigroupService
.getInstanceTypesByRegion(region, authToken, account);
List getAllInstanceTypes = getInstanceTypes.stream().map(ElastigroupConverter::toBl)
.collect(Collectors.toList());
retVal = new RepoGenericResponse<>(getAllInstanceTypes);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse> getSuggestedInstanceTypes(GetSuggestedInstanceTypeRequest suggestedInstanceType, String authToken, String account) {
RepoGenericResponse> retVal;
try {
List getInstanceTypes = SpotinstElastigroupService
.getSuggestedInstanceTypes(suggestedInstanceType, authToken, account);
List getAllInstanceTypes = getInstanceTypes.stream().map(ElastigroupConverter::toBl)
.collect(Collectors.toList());
retVal = new RepoGenericResponse<>(getAllInstanceTypes);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse initiateClusterRollInEGWithECS(ElastigroupEcsInitiateRoll rollRequest, String groupId, String authToken, String account) {
RepoGenericResponse retVal;
try {
ApiElastigroupEcsInitiateRoll apiRollRequest = ElastigroupConverter.toDal(rollRequest);
ApiElastigroupEcsClusterRollResponse rollResponse = SpotinstElastigroupService.initiateClusterRollInEGWithECS(apiRollRequest, groupId, authToken, account);
ElastigroupEcsClusterRollResponse getRollResponse = ElastigroupConverter.toBl(rollResponse);
retVal = new RepoGenericResponse<>(getRollResponse);
}
catch (SpotinstHttpException e) {
retVal = ExceptionHelper.handleHttpException(e);
}
return retVal;
}
@Override
public RepoGenericResponse> listECSClusterRollsPerEG(String groupId, String authToken, String account) {
RepoGenericResponse> retVal;
try {
List apiListRolls = SpotinstElastigroupService.listECSClusterRollsPerEG(groupId, authToken, account);
List listRollsResponse = apiListRolls.stream().map(ElastigroupConverter::toBl)
.collect(Collectors.toList());
retVal = new RepoGenericResponse<>(listRollsResponse);
}
catch (SpotinstHttpException e) {
retVal = ExceptionHelper.handleHttpException(e);
}
return retVal;
}
@Override
public RepoGenericResponse getECSClusterRollinEG(String groupId, String rollId, String authToken, String account) {
RepoGenericResponse retVal;
try {
ApiElastigroupEcsClusterRollResponse apiGetRoll = SpotinstElastigroupService.getECSClusterRollinEG(groupId, rollId, authToken, account);
ElastigroupEcsClusterRollResponse getRollResponse = ElastigroupConverter.toBl(apiGetRoll);
retVal = new RepoGenericResponse<>(getRollResponse);
}
catch (SpotinstHttpException e) {
retVal = ExceptionHelper.handleHttpException(e);
}
return retVal;
}
@Override
public RepoGenericResponse updateECSClusterRollinEG(ElastigroupEcsUpdateRollRequest updateRollRequest, String groupId, String authToken, String account) {
RepoGenericResponse retVal;
try {
ApiElastigroupEcsClusterRollResponse apiGetRoll = SpotinstElastigroupService.updateECSClusterRollinEG(updateRollRequest, groupId, authToken, account);
ElastigroupEcsClusterRollResponse updateRollResponse = ElastigroupConverter.toBl(apiGetRoll);
retVal = new RepoGenericResponse<>(updateRollResponse);
}
catch (SpotinstHttpException e) {
retVal = ExceptionHelper.handleHttpException(e);
}
return retVal;
}
@Override
public RepoGenericResponse importStatefulInstance(ElastigroupImportStatefulInstance elastigroupImportInstance, String authToken, String account) {
RepoGenericResponse retVal;
try {
ApiElastigroupImportStatefulInstanceResponse importInstance = SpotinstElastigroupService
.importStatefulInstance(elastigroupImportInstance, authToken, account);
ElastigroupImportStatefulInstanceResponse importStatefulInstance = StatefulElastigroupConverter.toBl(importInstance);
retVal = new RepoGenericResponse<>(importStatefulInstance);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse getStatefulImportStatus(String statefulMigrationGroupID, String authToken, String account) {
RepoGenericResponse retVal;
try {
ApiElastigroupGetImportStatefulStatusResponse statefulInstanceStatus = SpotinstElastigroupService
.getStatefulImportStatus(statefulMigrationGroupID, authToken, account);
ElastigroupGetImportStatefulStatusResponse importStatus = StatefulElastigroupConverter.toBl(statefulInstanceStatus);
retVal = new RepoGenericResponse<>(importStatus);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse terminateStatefulInstanceImport(ElastigroupTerminateStatefulInstanceImportRequest elastigroupTerminateReq, String statefulMigrationGroupID, String authToken, String account) {
RepoGenericResponse retVal;
try {
ApiElastigroupTerminateStatefulInstanceImportResponse terminateStatus = SpotinstElastigroupService
.terminateStatefulInstanceImport(elastigroupTerminateReq, statefulMigrationGroupID, authToken, account);
ElastigroupTerminateStatefulInstanceImportResponse importStatus = StatefulElastigroupConverter.toBl(terminateStatus);
retVal = new RepoGenericResponse<>(importStatus);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse deleteStatefulInstanceImport(String statefulMigrationGroupID, String authToken, String account) {
RepoGenericResponse retVal;
try {
ApiElastigroupTerminateStatefulInstanceImportResponse terminateStatus = SpotinstElastigroupService
.deleteStatefulInstanceImport(statefulMigrationGroupID, authToken, account);
ElastigroupTerminateStatefulInstanceImportResponse importStatus = StatefulElastigroupConverter.toBl(terminateStatus);
retVal = new RepoGenericResponse<>(importStatus);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse createInstanceSignal(ElastigroupCreateInstanceSignal elastigroupCreateInstanceSignalReq, String authToken, String account) {
RepoGenericResponse retVal;
try {
Boolean elastigroupCreateInstanceSignalResponse = SpotinstElastigroupService
.createInstanceSignal(elastigroupCreateInstanceSignalReq, authToken, account);
retVal = new RepoGenericResponse<>(elastigroupCreateInstanceSignalResponse);
}
catch (SpotinstHttpException ex) {
retVal = ExceptionHelper.handleHttpException(ex);
}
return retVal;
}
@Override
public RepoGenericResponse getInstanceStatus(String instanceId, String authToken, String account) {
RepoGenericResponse retVal;
try {
ApiElastigroupGetInstanceStatusResponse apiInstanceStatus = SpotinstElastigroupService.getInstanceStatus(instanceId, authToken, account);
ElastigroupGetInstanceStatusResponse instanceStatus = ElastigroupConverter.toBl(apiInstanceStatus);
retVal = new RepoGenericResponse<>(instanceStatus);
}
catch (SpotinstHttpException e) {
retVal = ExceptionHelper.handleHttpException(e);
}
return retVal;
}
}