github.com/hashicorp/packer@v1.14.3/post-processor/compress/post-processor.hcl2spec.go (about) 1 // Code generated by "packer-sdc mapstructure-to-hcl2"; DO NOT EDIT. 2 3 package compress 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 OutputPath *string `mapstructure:"output" cty:"output" hcl:"output"` 22 Format *string `mapstructure:"format" cty:"format" hcl:"format"` 23 CompressionLevel *int `mapstructure:"compression_level" cty:"compression_level" hcl:"compression_level"` 24 Archive *string `cty:"archive" hcl:"archive"` 25 Algorithm *string `cty:"algorithm" hcl:"algorithm"` 26 } 27 28 // FlatMapstructure returns a new FlatConfig. 29 // FlatConfig is an auto-generated flat version of Config. 30 // Where the contents a fields with a `mapstructure:,squash` tag are bubbled up. 31 func (*Config) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec } { 32 return new(FlatConfig) 33 } 34 35 // HCL2Spec returns the hcl spec of a Config. 36 // This spec is used by HCL to read the fields of Config. 37 // The decoded values from this spec will then be applied to a FlatConfig. 38 func (*FlatConfig) HCL2Spec() map[string]hcldec.Spec { 39 s := map[string]hcldec.Spec{ 40 "packer_build_name": &hcldec.AttrSpec{Name: "packer_build_name", Type: cty.String, Required: false}, 41 "packer_builder_type": &hcldec.AttrSpec{Name: "packer_builder_type", Type: cty.String, Required: false}, 42 "packer_core_version": &hcldec.AttrSpec{Name: "packer_core_version", Type: cty.String, Required: false}, 43 "packer_debug": &hcldec.AttrSpec{Name: "packer_debug", Type: cty.Bool, Required: false}, 44 "packer_force": &hcldec.AttrSpec{Name: "packer_force", Type: cty.Bool, Required: false}, 45 "packer_on_error": &hcldec.AttrSpec{Name: "packer_on_error", Type: cty.String, Required: false}, 46 "packer_user_variables": &hcldec.AttrSpec{Name: "packer_user_variables", Type: cty.Map(cty.String), Required: false}, 47 "packer_sensitive_variables": &hcldec.AttrSpec{Name: "packer_sensitive_variables", Type: cty.List(cty.String), Required: false}, 48 "output": &hcldec.AttrSpec{Name: "output", Type: cty.String, Required: false}, 49 "format": &hcldec.AttrSpec{Name: "format", Type: cty.String, Required: false}, 50 "compression_level": &hcldec.AttrSpec{Name: "compression_level", Type: cty.Number, Required: false}, 51 "archive": &hcldec.AttrSpec{Name: "archive", Type: cty.String, Required: false}, 52 "algorithm": &hcldec.AttrSpec{Name: "algorithm", Type: cty.String, Required: false}, 53 } 54 return s 55 }