func()

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, &notFoundErr) {
			// 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)
}