Skip to content

Commit 17bb5e6

Browse files
author
Rishi Barad
authored
Fix timeout property for CloudFormation update (#484)
* add timeout property to cloudformation update * add changelog * fix typo
1 parent 51c6c35 commit 17bb5e6

File tree

3 files changed

+17
-8
lines changed

3 files changed

+17
-8
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type": "Bug Fix",
3+
"description": "fix timeout property for CloudFormation update"
4+
}

src/lib/cloudformationutils.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,15 @@ export async function testStackHasResources(cloudFormationClient: CloudFormation
6464
}
6565
}
6666

67-
export async function waitForStackUpdate(cloudFormationClient: CloudFormation, stackName: string): Promise<void> {
67+
export async function waitForStackUpdate(
68+
cloudFormationClient: CloudFormation,
69+
stackName: string,
70+
timeoutInMins: number = defaultTimeoutInMins
71+
): Promise<void> {
6872
console.log(tl.loc('WaitingForStackUpdate', stackName))
6973
try {
70-
await cloudFormationClient.waitFor('stackUpdateComplete', { StackName: stackName }).promise()
74+
const params: any = setWaiterParams(stackName, timeoutInMins)
75+
await cloudFormationClient.waitFor('stackUpdateComplete', params).promise()
7176
console.log(tl.loc('StackUpdated', stackName))
7277
} catch (err) {
7378
throw new Error(tl.loc('StackUpdateFailed', stackName, (err as Error).message))
@@ -81,8 +86,8 @@ export async function waitForStackCreation(
8186
): Promise<void> {
8287
console.log(tl.loc('WaitingForStackCreation', stackName))
8388
try {
84-
const parms: any = setWaiterParams(stackName, timeoutInMins)
85-
await cloudFormationClient.waitFor('stackCreateComplete', parms).promise()
89+
const params: any = setWaiterParams(stackName, timeoutInMins)
90+
await cloudFormationClient.waitFor('stackCreateComplete', params).promise()
8691
console.log(tl.loc('StackCreated', stackName))
8792
} catch (err) {
8893
throw new Error(tl.loc('StackCreationFailed', stackName, err.message))

src/tasks/CloudFormationCreateOrUpdateStack/TaskOperations.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ export class TaskOperations {
225225

226226
try {
227227
await this.cloudFormationClient.updateStack(request).promise()
228-
await waitForStackUpdate(this.cloudFormationClient, request.StackName)
228+
await waitForStackUpdate(this.cloudFormationClient, request.StackName, this.taskParameters.timeoutInMins)
229229
} catch (err) {
230230
const e = <AWSError>err
231231
if (isNoWorkToDoValidationError(e.code, e.message)) {
@@ -365,7 +365,7 @@ export class TaskOperations {
365365
.promise()
366366

367367
if (await testStackHasResources(this.cloudFormationClient, stackName)) {
368-
await waitForStackUpdate(this.cloudFormationClient, stackName)
368+
await waitForStackUpdate(this.cloudFormationClient, stackName, this.taskParameters.timeoutInMins)
369369
} else {
370370
await waitForStackCreation(this.cloudFormationClient, stackName, this.taskParameters.timeoutInMins)
371371
}
@@ -533,8 +533,8 @@ export class TaskOperations {
533533
private async waitForChangeSetCreation(changeSetName: string, stackName: string): Promise<boolean> {
534534
console.log(tl.loc('WaitingForChangeSetValidation', changeSetName, stackName))
535535
try {
536-
const parms: any = setWaiterParams(stackName, this.taskParameters.timeoutInMins, changeSetName)
537-
await this.cloudFormationClient.waitFor('changeSetCreateComplete', parms).promise()
536+
const params: any = setWaiterParams(stackName, this.taskParameters.timeoutInMins, changeSetName)
537+
await this.cloudFormationClient.waitFor('changeSetCreateComplete', params).promise()
538538
console.log(tl.loc('ChangeSetValidated'))
539539
} catch (err) {
540540
// Inspect to see if the error was down to the service reporting (as an exception trapped

0 commit comments

Comments
 (0)