github.com/hashicorp/packer@v1.14.3/provisioner/file/provisioner.hcl2spec.go (about) 1 // Code generated by "packer-sdc mapstructure-to-hcl2"; DO NOT EDIT. 2 3 package file 4 5 import ( 6 "github.com/hashicorp/hcl/v2/hcldec" 7 "github.com/zclconf/go-cty/cty" 8 ) 9 10 // FlatConfig is an auto-generated flat version of Config. 11 // Where the contents of a field with a `mapstructure:,squash` tag are bubbled up. 12 type FlatConfig struct { 13 PackerBuildName *string `mapstructure:"packer_build_name" cty:"packer_build_name" hcl:"packer_build_name"` 14 PackerBuilderType *string `mapstructure:"packer_builder_type" cty:"packer_builder_type" hcl:"packer_builder_type"` 15 PackerCoreVersion *string `mapstructure:"packer_core_version" cty:"packer_core_version" hcl:"packer_core_version"` 16 PackerDebug *bool `mapstructure:"packer_debug" cty:"packer_debug" hcl:"packer_debug"` 17 PackerForce *bool `mapstructure:"packer_force" cty:"packer_force" hcl:"packer_force"` 18 PackerOnError *string `mapstructure:"packer_on_error" cty:"packer_on_error" hcl:"packer_on_error"` 19 PackerUserVars map[string]string `mapstructure:"packer_user_variables" cty:"packer_user_variables" hcl:"packer_user_variables"` 20 PackerSensitiveVars []string `mapstructure:"packer_sensitive_variables" cty:"packer_sensitive_variables" hcl:"packer_sensitive_variables"` 21 Content *string `mapstructure:"content" required:"true" cty:"content" hcl:"content"` 22 Source *string `mapstructure:"source" required:"true" cty:"source" hcl:"source"` 23 Sources []string `mapstructure:"sources" required:"false" cty:"sources" hcl:"sources"` 24 Destination *string `mapstructure:"destination" required:"true" cty:"destination" hcl:"destination"` 25 Direction *string `mapstructure:"direction" required:"false" cty:"direction" hcl:"direction"` 26 Generated *bool `mapstructure:"generated" required:"false" cty:"generated" hcl:"generated"` 27 } 28 29 // FlatMapstructure returns a new FlatConfig. 30 // FlatConfig is an auto-generated flat version of Config. 31 // Where the contents a fields with a `mapstructure:,squash` tag are bubbled up. 32 func (*Config) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec } { 33 return new(FlatConfig) 34 } 35 36 // HCL2Spec returns the hcl spec of a Config. 37 // This spec is used by HCL to read the fields of Config. 38 // The decoded values from this spec will then be applied to a FlatConfig. 39 func (*FlatConfig) HCL2Spec() map[string]hcldec.Spec { 40 s := map[string]hcldec.Spec{ 41 "packer_build_name": &hcldec.AttrSpec{Name: "packer_build_name", Type: cty.String, Required: false}, 42 "packer_builder_type": &hcldec.AttrSpec{Name: "packer_builder_type", Type: cty.String, Required: false}, 43 "packer_core_version": &hcldec.AttrSpec{Name: "packer_core_version", Type: cty.String, Required: false}, 44 "packer_debug": &hcldec.AttrSpec{Name: "packer_debug", Type: cty.Bool, Required: false}, 45 "packer_force": &hcldec.AttrSpec{Name: "packer_force", Type: cty.Bool, Required: false}, 46 "packer_on_error": &hcldec.AttrSpec{Name: "packer_on_error", Type: cty.String, Required: false}, 47 "packer_user_variables": &hcldec.AttrSpec{Name: "packer_user_variables", Type: cty.Map(cty.String), Required: false}, 48 "packer_sensitive_variables": &hcldec.AttrSpec{Name: "packer_sensitive_variables", Type: cty.List(cty.String), Required: false}, 49 "content": &hcldec.AttrSpec{Name: "content", Type: cty.String, Required: false}, 50 "source": &hcldec.AttrSpec{Name: "source", Type: cty.String, Required: false}, 51 "sources": &hcldec.AttrSpec{Name: "sources", Type: cty.List(cty.String), Required: false}, 52 "destination": &hcldec.AttrSpec{Name: "destination", Type: cty.String, Required: false}, 53 "direction": &hcldec.AttrSpec{Name: "direction", Type: cty.String, Required: false}, 54 "generated": &hcldec.AttrSpec{Name: "generated", Type: cty.Bool, Required: false}, 55 } 56 return s 57 }