github.com/terramate-io/tf@v0.0.0-20230830114523-fce866b4dfcd/backend/remote-state/s3/diags.go (about)

     1  package s3
     2  
     3  import (
     4  	"strings"
     5  
     6  	"github.com/terramate-io/tf/tfdiags"
     7  )
     8  
     9  func diagnosticString(diag tfdiags.Diagnostic) string {
    10  	var buffer strings.Builder
    11  	buffer.WriteString(diag.Severity().String() + ": ")
    12  	buffer.WriteString(diag.Description().Summary)
    13  	if diag.Description().Detail != "" {
    14  		buffer.WriteString("\n\n")
    15  		buffer.WriteString(diag.Description().Detail)
    16  	}
    17  	return buffer.String()
    18  }
    19  
    20  func diagnosticsString(diags tfdiags.Diagnostics) string {
    21  	l := len(diags)
    22  	if l == 0 {
    23  		return ""
    24  	}
    25  
    26  	var buffer strings.Builder
    27  	for i, d := range diags {
    28  		buffer.WriteString(diagnosticString(d))
    29  		if i < l-1 {
    30  			buffer.WriteString(",\n")
    31  		}
    32  	}
    33  	return buffer.String()
    34  }