in internal/pkg/deploy/cloudformation/env.go [112:131]
func (cf CloudFormation) DeleteEnvironment(env *types.EnvironmentInput) (*types.Environment, error) {
envConfig := stack.NewEnvStackConfig(env, cf.box)
stack, err := cf.describe(envConfig)
if err != nil {
var notFoundErr *ErrStackNotFound
if errors.As(err, ¬FoundErr) {
// Stack was not found, don't return an error, since it's deleted already
return &types.Environment{
StackName: envConfig.StackName(),
}, nil
} else {
return nil, err
}
}
err = cf.delete(*stack.StackId)
if err != nil {
return nil, err
}
return envConfig.ToEnv(stack)
}