unity-builder/src/model/cloud-runner/aws/aws-error.ts

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));
}
}