packer/builder/null/artifact_export.go
hashicorp-copywrite[bot] b7df3ca36f
[COMPLIANCE] Add Copyright and License Headers (#12254)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2023-03-02 15:37:05 -05:00

53 lines
1 KiB
Go

// 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
}