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