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  }