All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.spotinst.sdkjava.model.repo.ocean.ecs.SpotOceanEcsClusterRepo Maven / Gradle / Ivy

There is a newer version: 1.0.121
Show newest version
package com.spotinst.sdkjava.model.repo.ocean.ecs;

import com.spotinst.sdkjava.exception.ExceptionHelper;
import com.spotinst.sdkjava.exception.SpotinstHttpException;
import com.spotinst.sdkjava.model.bl.ocean.ecs.*;
import com.spotinst.sdkjava.model.ISpotOceanEcsClusterRepo;
import com.spotinst.sdkjava.model.api.ocean.ecs.*;
import com.spotinst.sdkjava.model.RepoGenericResponse;
import com.spotinst.sdkjava.model.requests.ocean.ecs.GetEcsClusterNodesRequest;
import com.spotinst.sdkjava.model.requests.ocean.ecs.OceanEcsUpdateRollRequest;
import com.spotinst.sdkjava.model.service.ocean.ecs.SpotOceanEcsClusterService;
import com.spotinst.sdkjava.model.converters.ocean.ecs.OceanEcsConverter;

import java.util.List;
import java.util.stream.Collectors;

public class SpotOceanEcsClusterRepo implements ISpotOceanEcsClusterRepo {

    @Override
    public RepoGenericResponse create(OceanEcsCluster clusterToCreate, String authToken, String account) {

        RepoGenericResponse retVal;

        try {
            ApiOceanEcsCluster apiOceanEcsClusterToCreate = OceanEcsConverter.toDal(clusterToCreate);
            ApiOceanEcsCluster apiCreatedCluster = SpotOceanEcsClusterService.createEcsCluster(apiOceanEcsClusterToCreate, authToken, account);

            OceanEcsCluster createdOceanEcsCluster = OceanEcsConverter.toBl(apiCreatedCluster);
            retVal = new RepoGenericResponse<>(createdOceanEcsCluster);
        }
        catch (SpotinstHttpException ex) {
            retVal = ExceptionHelper.handleHttpException(ex);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse update(String clusterId, OceanEcsCluster clusterUpdate, String authToken,
                                               String account) {
        RepoGenericResponse retVal;

        ApiOceanEcsCluster apiOceanEcsCluster = OceanEcsConverter.toDal(clusterUpdate);

        try {
            Boolean isSucceeded  = SpotOceanEcsClusterService
                    .updateEcsCluster(clusterId, apiOceanEcsCluster, authToken, account);
            retVal = new RepoGenericResponse<>(isSucceeded );
        }
        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse get(String clusterId, String authToken, String account) {
        RepoGenericResponse retVal;

        try {
            ApiOceanEcsCluster
                    apiOceanEcsCluster = SpotOceanEcsClusterService.getEcsCluster(clusterId, authToken, account);
            OceanEcsCluster oceanK8sCluster    = OceanEcsConverter.toBl(apiOceanEcsCluster);
            retVal = new RepoGenericResponse<>(oceanK8sCluster);
        }
        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse delete(String identifier, String authToken, String account) {
        RepoGenericResponse retVal;

        try {
            Boolean isDeleted  = SpotOceanEcsClusterService.deleteEcsCluster(identifier, authToken, account);
            retVal = new RepoGenericResponse<>(isDeleted );

        }
        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse> getAll(Void filter, String authToken, String account) {
        RepoGenericResponse> retVal;

        try {
            List apigetAllLaunchSpec =
                    SpotOceanEcsClusterService.getAllEcsCluster(authToken, account);
            List allEcsCluster =
                    apigetAllLaunchSpec.stream().map(OceanEcsConverter::toBl).collect(Collectors.toList());
            retVal = new RepoGenericResponse<>(allEcsCluster);
        }
        catch (SpotinstHttpException ex) {
            retVal = ExceptionHelper.handleHttpException(ex);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse initiateRoll(EcsInitiateRoll rollRequest, String clusterId, String authToken, String account) {
        RepoGenericResponse retVal;

        try {

            ApiEcsInitiateRoll apiRollRequest = OceanEcsConverter.toDal(rollRequest);

            ApiEcsClusterRollResponse rollResponse = SpotOceanEcsClusterService.initiateRoll(apiRollRequest, clusterId, authToken, account);
            EcsClusterRollResponse getRollResponse = OceanEcsConverter.toBl(rollResponse);

            retVal = new RepoGenericResponse<>(getRollResponse);
        }

        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse> listRolls(String clusterId, String authToken, String account) {
        RepoGenericResponse> retVal;

        try {

            List apiListRolls = SpotOceanEcsClusterService.listRolls(clusterId, authToken, account);
            List listRollsResponse = apiListRolls.stream().map(OceanEcsConverter::toBl)
                    .collect(Collectors.toList());

            retVal = new RepoGenericResponse<>(listRollsResponse);
        }

        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse getRoll(String clusterId, String rollId, String authToken, String account) {
        RepoGenericResponse retVal;

        try {

            ApiEcsClusterRollResponse apiGetRoll = SpotOceanEcsClusterService.getRoll(clusterId, rollId, authToken, account);
            EcsClusterRollResponse getRollResponse = OceanEcsConverter.toBl(apiGetRoll);

            retVal = new RepoGenericResponse<>(getRollResponse);
        }

        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse updateRoll(OceanEcsUpdateRollRequest updateRollRequest, String clusterId, String rollId, String authToken, String account) {
        RepoGenericResponse retVal;

        try {

            ApiEcsClusterRollResponse apiGetRoll = SpotOceanEcsClusterService.updateRoll(updateRollRequest, clusterId, rollId, authToken, account);
            EcsClusterRollResponse updateRollResponse = OceanEcsConverter.toBl(apiGetRoll);

            retVal = new RepoGenericResponse<>(updateRollResponse);
        }

        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse> getClusterContainerInstances(GetEcsClusterNodesRequest getClusterNodes, String clusterId, String authToken) {
        RepoGenericResponse> retVal;

        try {

            List apiGetClusterNodes = SpotOceanEcsClusterService.getClusterContainerInstances(getClusterNodes, clusterId, authToken);
            List getClusterNodesResponse = apiGetClusterNodes.stream().map(OceanEcsConverter::toBl)
                    .collect(Collectors.toList());

            retVal = new RepoGenericResponse<>(getClusterNodesResponse);
        }

        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }

    @Override
    public RepoGenericResponse importEcsCluster(ImportEcsCluster importEcsCluster, String ecsClusterName, String authToken, String account) {
        RepoGenericResponse retVal;

        try {

            ApiImportOceanEcsClusterObjectResponse apiImportEcsCluster = SpotOceanEcsClusterService.importEcsCluster(importEcsCluster, ecsClusterName, authToken, account);
            ImportOceanEcsClusterObjectResponse importEcsClusterResponse = OceanEcsConverter.toBl(apiImportEcsCluster);

            retVal = new RepoGenericResponse<>(importEcsClusterResponse);
        }

        catch (SpotinstHttpException e) {
            retVal = ExceptionHelper.handleHttpException(e);
        }

        return retVal;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy