github.com/hashicorp/packer@v1.14.3/datasource/http/data.hcl2spec.go (about) 1 // Code generated by "packer-sdc mapstructure-to-hcl2"; DO NOT EDIT. 2 3 package http 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 Url *string `mapstructure:"url" required:"true" cty:"url" hcl:"url"` 22 Method *string `mapstructure:"method" required:"false" cty:"method" hcl:"method"` 23 RequestHeaders map[string]string `mapstructure:"request_headers" required:"false" cty:"request_headers" hcl:"request_headers"` 24 RequestBody *string `mapstructure:"request_body" required:"false" cty:"request_body" hcl:"request_body"` 25 } 26 27 // FlatMapstructure returns a new FlatConfig. 28 // FlatConfig is an auto-generated flat version of Config. 29 // Where the contents a fields with a `mapstructure:,squash` tag are bubbled up. 30 func (*Config) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec } { 31 return new(FlatConfig) 32 } 33 34 // HCL2Spec returns the hcl spec of a Config. 35 // This spec is used by HCL to read the fields of Config. 36 // The decoded values from this spec will then be applied to a FlatConfig. 37 func (*FlatConfig) HCL2Spec() map[string]hcldec.Spec { 38 s := map[string]hcldec.Spec{ 39 "packer_build_name": &hcldec.AttrSpec{Name: "packer_build_name", Type: cty.String, Required: false}, 40 "packer_builder_type": &hcldec.AttrSpec{Name: "packer_builder_type", Type: cty.String, Required: false}, 41 "packer_core_version": &hcldec.AttrSpec{Name: "packer_core_version", Type: cty.String, Required: false}, 42 "packer_debug": &hcldec.AttrSpec{Name: "packer_debug", Type: cty.Bool, Required: false}, 43 "packer_force": &hcldec.AttrSpec{Name: "packer_force", Type: cty.Bool, Required: false}, 44 "packer_on_error": &hcldec.AttrSpec{Name: "packer_on_error", Type: cty.String, Required: false}, 45 "packer_user_variables": &hcldec.AttrSpec{Name: "packer_user_variables", Type: cty.Map(cty.String), Required: false}, 46 "packer_sensitive_variables": &hcldec.AttrSpec{Name: "packer_sensitive_variables", Type: cty.List(cty.String), Required: false}, 47 "url": &hcldec.AttrSpec{Name: "url", Type: cty.String, Required: false}, 48 "method": &hcldec.AttrSpec{Name: "method", Type: cty.String, Required: false}, 49 "request_headers": &hcldec.AttrSpec{Name: "request_headers", Type: cty.Map(cty.String), Required: false}, 50 "request_body": &hcldec.AttrSpec{Name: "request_body", Type: cty.String, Required: false}, 51 } 52 return s 53 } 54 55 // FlatDatasourceOutput is an auto-generated flat version of DatasourceOutput. 56 // Where the contents of a field with a `mapstructure:,squash` tag are bubbled up. 57 type FlatDatasourceOutput struct { 58 Url *string `mapstructure:"url" cty:"url" hcl:"url"` 59 ResponseBody *string `mapstructure:"body" cty:"body" hcl:"body"` 60 ResponseHeaders map[string]string `mapstructure:"request_headers" cty:"request_headers" hcl:"request_headers"` 61 } 62 63 // FlatMapstructure returns a new FlatDatasourceOutput. 64 // FlatDatasourceOutput is an auto-generated flat version of DatasourceOutput. 65 // Where the contents a fields with a `mapstructure:,squash` tag are bubbled up. 66 func (*DatasourceOutput) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec } { 67 return new(FlatDatasourceOutput) 68 } 69 70 // HCL2Spec returns the hcl spec of a DatasourceOutput. 71 // This spec is used by HCL to read the fields of DatasourceOutput. 72 // The decoded values from this spec will then be applied to a FlatDatasourceOutput. 73 func (*FlatDatasourceOutput) HCL2Spec() map[string]hcldec.Spec { 74 s := map[string]hcldec.Spec{ 75 "url": &hcldec.AttrSpec{Name: "url", Type: cty.String, Required: false}, 76 "body": &hcldec.AttrSpec{Name: "body", Type: cty.String, Required: false}, 77 "request_headers": &hcldec.AttrSpec{Name: "request_headers", Type: cty.Map(cty.String), Required: false}, 78 } 79 return s 80 }