mirror of
https://github.com/opentofu/opentofu.git
synced 2025-01-11 16:42:33 -06:00
50 lines
1.0 KiB
Go
50 lines
1.0 KiB
Go
// 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
|
|
`
|