github.com/hashicorp/packer@v1.14.3/builder/null/artifact_export.go (about) 1 // Copyright (c) HashiCorp, Inc. 2 // SPDX-License-Identifier: BUSL-1.1 3 4 package null 5 6 import ( 7 registryimage "github.com/hashicorp/packer-plugin-sdk/packer/registry/image" 8 ) 9 10 // dummy Artifact implementation - does nothing 11 type NullArtifact struct { 12 } 13 14 func (*NullArtifact) BuilderId() string { 15 return BuilderId 16 } 17 18 func (a *NullArtifact) Files() []string { 19 return []string{} 20 } 21 22 func (*NullArtifact) Id() string { 23 return "Null" 24 } 25 26 func (a *NullArtifact) String() string { 27 return "Did not export anything. This is the null builder" 28 } 29 30 func (a *NullArtifact) State(name string) interface{} { 31 switch name { 32 case registryimage.ArtifactStateURI: 33 img, _ := registryimage.FromArtifact(a, 34 registryimage.WithID(a.Id()), 35 registryimage.WithProvider("null"), 36 registryimage.WithRegion("null"), 37 registryimage.WithSourceID("null"), 38 ) 39 return img 40 case "generated_data": 41 return map[interface{}]interface{}{ 42 "ID": "Null", 43 } 44 default: 45 return nil 46 } 47 } 48 49 func (a *NullArtifact) Destroy() error { 50 return nil 51 }