github.com/raghuse92/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  }