blob: ae6e46f2756e116bbd6332eaca2d38ff92cd56f8 [file] [log] [blame]
// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package null
import (
"fmt"
registryimage "github.com/hashicorp/packer-plugin-sdk/packer/registry/image"
)
// dummy Artifact implementation - does nothing
type NullArtifact struct {
}
func (*NullArtifact) BuilderId() string {
return BuilderId
}
func (a *NullArtifact) Files() []string {
return []string{}
}
func (*NullArtifact) Id() string {
return "Null"
}
func (a *NullArtifact) String() string {
return fmt.Sprintf("Did not export anything. This is the null builder")
}
func (a *NullArtifact) State(name string) interface{} {
switch name {
case registryimage.ArtifactStateURI:
img, _ := registryimage.FromArtifact(a,
registryimage.WithID(a.Id()),
registryimage.WithProvider("null"),
registryimage.WithRegion("null"),
registryimage.WithSourceID("null"),
)
return img
case "generated_data":
return map[interface{}]interface{}{
"ID": "Null",
}
default:
return nil
}
}
func (a *NullArtifact) Destroy() error {
return nil
}