github.com/aclaygray/packer@v1.3.2/post-processor/checksum/artifact.go (about)

     1  package checksum
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  	"strings"
     7  )
     8  
     9  const BuilderId = "packer.post-processor.checksum"
    10  
    11  type Artifact struct {
    12  	files []string
    13  }
    14  
    15  func NewArtifact(files []string) *Artifact {
    16  	return &Artifact{files: files}
    17  }
    18  
    19  func (a *Artifact) BuilderId() string {
    20  	return BuilderId
    21  }
    22  
    23  func (a *Artifact) Files() []string {
    24  	return a.files
    25  }
    26  
    27  func (a *Artifact) Id() string {
    28  	return ""
    29  }
    30  
    31  func (a *Artifact) String() string {
    32  	files := strings.Join(a.files, ", ")
    33  	return fmt.Sprintf("Created artifact from files: %s", files)
    34  }
    35  
    36  func (a *Artifact) State(name string) interface{} {
    37  	return nil
    38  }
    39  
    40  func (a *Artifact) Destroy() error {
    41  	for _, f := range a.files {
    42  		err := os.RemoveAll(f)
    43  		if err != nil {
    44  			return err
    45  		}
    46  	}
    47  	return nil
    48  }