blob: c9c766c1b15771c59198dd8f849b73e8e657078b [file] [log] [blame]
// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package cloud
import (
"context"
"fmt"
"strings"
tfe "github.com/hashicorp/go-tfe"
)
const (
changedPolicyEnforcementAction = "changed_policy_enforcements"
changedTaskEnforcementAction = "changed_task_enforcements"
ignoredPolicySetAction = "ignored_policy_sets"
)
func (b *Cloud) renderRunWarnings(ctx context.Context, client *tfe.Client, runId string) error {
if b.CLI == nil {
return nil
}
result, err := client.RunEvents.List(ctx, runId, nil)
if err != nil {
return err
}
if result == nil {
return nil
}
// We don't have to worry about paging as the API doesn't support it yet
for _, re := range result.Items {
switch re.Action {
case changedPolicyEnforcementAction, changedTaskEnforcementAction, ignoredPolicySetAction:
if re.Description != "" {
b.CLI.Warn(b.Colorize().Color(strings.TrimSpace(fmt.Sprintf(
runWarningHeader, re.Description)) + "\n"))
}
}
}
return nil
}
const runWarningHeader = `
[reset][yellow]Warning:[reset] %s
`