@spotinst/spinnaker-deck
Version:
Spinnaker-Deck service, forked with support to Spotinst
70 lines (65 loc) • 1.74 kB
text/typescript
import { $log } from 'ngimport';
import { REST } from 'core/api/ApiService';
import { IServerGroup } from 'core/domain';
export class ServerGroupReader {
public static getScalingActivities(serverGroup: IServerGroup): PromiseLike<any[]> {
return REST('/applications')
.path(
serverGroup.app,
'clusters',
serverGroup.account,
serverGroup.cluster,
'serverGroups',
serverGroup.name,
'scalingActivities',
)
.query({
region: serverGroup.region,
provider: serverGroup.cloudProvider,
})
.get()
.catch((error: any): any[] => {
$log.error(error, 'error retrieving scaling activities');
return [];
});
}
public static getServerGroup(
application: any,
account: string,
region: string,
serverGroupName: string,
): PromiseLike<IServerGroup> {
return REST('/applications')
.path(application, 'serverGroups', account, region, serverGroupName)
.query({ includeDetails: 'false' })
.get();
}
public static getElastilogs(
serverGroup: any,
elastigroupId: string,
period: string,
severity: string,
): PromiseLike<any[]> {
return REST('/applications')
.path(
serverGroup.app,
'clusters',
serverGroup.account,
serverGroup.cluster,
'serverGroups',
serverGroup.name,
'elastilogs',
)
.query({
elastigroupId: elastigroupId,
period: period,
severity: severity,
provider: serverGroup.cloudProvider,
})
.get()
.catch((error: any): any[] => {
$log.error(error, 'error retrieving elastilogs');
return [];
});
}
}