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