github.com/aclaygray/packer@v1.3.2/post-processor/manifest/artifact.go (about) 1 package manifest 2 3 import "fmt" 4 5 const BuilderId = "packer.post-processor.manifest" 6 7 type ArtifactFile struct { 8 Name string `json:"name"` 9 Size int64 `json:"size"` 10 } 11 12 type Artifact struct { 13 BuildName string `json:"name"` 14 BuilderType string `json:"builder_type"` 15 BuildTime int64 `json:"build_time"` 16 ArtifactFiles []ArtifactFile `json:"files"` 17 ArtifactId string `json:"artifact_id"` 18 PackerRunUUID string `json:"packer_run_uuid"` 19 } 20 21 func (a *Artifact) BuilderId() string { 22 return BuilderId 23 } 24 25 func (a *Artifact) Files() []string { 26 var files []string 27 for _, af := range a.ArtifactFiles { 28 files = append(files, af.Name) 29 } 30 return files 31 } 32 33 func (a *Artifact) Id() string { 34 return a.ArtifactId 35 } 36 37 func (a *Artifact) String() string { 38 return fmt.Sprintf("%s-%s", a.BuildName, a.ArtifactId) 39 } 40 41 func (a *Artifact) State(name string) interface{} { 42 return nil 43 } 44 45 func (a *Artifact) Destroy() error { 46 return nil 47 }