Skip to content

Commit 086f43c

Browse files
committed
add passing of region for role/func deletion
1 parent 0568416 commit 086f43c

File tree

2 files changed

+19
-7
lines changed

2 files changed

+19
-7
lines changed

platform/lambda/lambda.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -209,12 +209,12 @@ func (p *Platform) DeleteStack(region string, wait bool) error {
209209
}
210210

211211
log.Debug("deleting function")
212-
if err := p.deleteFunction(); err != nil && !isNotFound(err) {
212+
if err := p.deleteFunction(region); err != nil && !isNotFound(err) {
213213
return errors.Wrap(err, "deleting function")
214214
}
215215

216216
log.Debug("deleting role")
217-
if err := p.deleteRole(); err != nil && !isNotFound(err) {
217+
if err := p.deleteRole(region); err != nil && !isNotFound(err) {
218218
return errors.Wrap(err, "deleting role")
219219
}
220220

@@ -341,8 +341,9 @@ func (p *Platform) updateFunction(c *lambda.Lambda, stage string) (version strin
341341
}
342342

343343
// deleteFunction deletes the lambda function.
344-
func (p *Platform) deleteFunction() error {
345-
c := lambda.New(session.New(aws.NewConfig()))
344+
func (p *Platform) deleteFunction(region string) error {
345+
// TODO: sessions all over... refactor
346+
c := lambda.New(session.New(aws.NewConfig().WithRegion(region)))
346347

347348
_, err := c.DeleteFunction(&lambda.DeleteFunctionInput{
348349
FunctionName: &p.config.Name,
@@ -406,9 +407,9 @@ func (p *Platform) createRole() error {
406407
}
407408

408409
// deleteRole deletes the role and policy.
409-
func (p *Platform) deleteRole() error {
410+
func (p *Platform) deleteRole(region string) error {
410411
name := fmt.Sprintf("%s-api-function", p.config.Name)
411-
c := iam.New(session.New(aws.NewConfig()))
412+
c := iam.New(session.New(aws.NewConfig().WithRegion(region)))
412413

413414
_, err := c.DeleteRolePolicy(&iam.DeleteRolePolicyInput{
414415
RoleName: &name,
@@ -481,6 +482,7 @@ func (p *Platform) removeProxy() error {
481482

482483
// isNotFound returns true if it's a "function not found" error.
483484
func isNotFound(err error) bool {
485+
// TODO: move these to util
484486
return err != nil && strings.Contains(err.Error(), "not found")
485487
}
486488

platform/lambda/stack/stack.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ func (s *Stack) report(state string) error {
118118
for range time.Tick(time.Second) {
119119
stack, err := s.getStack()
120120

121-
if err != nil && strings.Contains(err.Error(), "does not exist") {
121+
if isNotFound(err) {
122122
return nil
123123
}
124124

@@ -133,6 +133,11 @@ func (s *Stack) report(state string) error {
133133
}
134134

135135
events, err := s.getEvents()
136+
137+
if isNotFound(err) {
138+
return nil
139+
}
140+
136141
if err != nil {
137142
return errors.Wrap(err, "fetching events")
138143
}
@@ -232,3 +237,8 @@ func (s *Stack) getEventsByState(state State) (v []*cloudformation.StackEvent, e
232237

233238
return
234239
}
240+
241+
// isNotFound returns true if there is an error and it represents a missing resoruce.
242+
func isNotFound(err error) bool {
243+
return err != nil && strings.Contains(err.Error(), "does not exist")
244+
}

0 commit comments

Comments
 (0)