34 lines
1.3 KiB
TypeScript
34 lines
1.3 KiB
TypeScript
import CloudRunnerLogger from '../services/cloud-runner-logger';
|
|
import CloudRunnerSecret from '../services/cloud-runner-secret';
|
|
import * as SDK from 'aws-sdk';
|
|
import * as core from '@actions/core';
|
|
|
|
export class AWSError {
|
|
static async handleStackCreationFailure(
|
|
error: any,
|
|
CF: SDK.CloudFormation,
|
|
taskDefStackName: string,
|
|
taskDefCloudFormation: string,
|
|
parameters: any[],
|
|
secrets: CloudRunnerSecret[],
|
|
) {
|
|
CloudRunnerLogger.log(' \n ');
|
|
CloudRunnerLogger.log('aws stack parameters: ');
|
|
CloudRunnerLogger.log(JSON.stringify(parameters, undefined, 4));
|
|
|
|
CloudRunnerLogger.log('aws stack secrets: ');
|
|
CloudRunnerLogger.log(JSON.stringify(secrets, undefined, 4));
|
|
|
|
CloudRunnerLogger.log('aws stack: ');
|
|
CloudRunnerLogger.log(taskDefCloudFormation);
|
|
|
|
CloudRunnerLogger.log('aws error: ');
|
|
core.error(error);
|
|
CloudRunnerLogger.log('Getting events and resources for task stack');
|
|
const events = (await CF.describeStackEvents({ StackName: taskDefStackName }).promise()).StackEvents;
|
|
const resources = (await CF.describeStackResources({ StackName: taskDefStackName }).promise()).StackResources;
|
|
CloudRunnerLogger.log(JSON.stringify(events, undefined, 4));
|
|
CloudRunnerLogger.log(JSON.stringify(resources, undefined, 4));
|
|
}
|
|
}
|