func (*FlatConfig) HCL2Spec() map[string]hcldec.Spec {
	s := map[string]hcldec.Spec{
		"packer_build_name":          &hcldec.AttrSpec{Name: "packer_build_name", Type: cty.String, Required: false},
		"packer_builder_type":        &hcldec.AttrSpec{Name: "packer_builder_type", Type: cty.String, Required: false},
		"packer_debug":               &hcldec.AttrSpec{Name: "packer_debug", Type: cty.Bool, Required: false},
		"packer_force":               &hcldec.AttrSpec{Name: "packer_force", Type: cty.Bool, Required: false},
		"packer_on_error":            &hcldec.AttrSpec{Name: "packer_on_error", Type: cty.String, Required: false},
		"packer_user_variables":      &hcldec.BlockAttrsSpec{TypeName: "packer_user_variables", ElementType: cty.String, Required: false},
		"packer_sensitive_variables": &hcldec.AttrSpec{Name: "packer_sensitive_variables", Type: cty.List(cty.String), Required: false},
		"command":                    &hcldec.AttrSpec{Name: "command", Type: cty.String, Required: false},
		"extra_arguments":            &hcldec.AttrSpec{Name: "extra_arguments", Type: cty.List(cty.String), Required: false},
		"bolt_env_vars":              &hcldec.AttrSpec{Name: "bolt_env_vars", Type: cty.List(cty.String), Required: false},
		"bolt_params":                &hcldec.BlockAttrsSpec{TypeName: "bolt_params", ElementType: cty.String, Required: false},
		"bolt_task":                  &hcldec.AttrSpec{Name: "bolt_task", Type: cty.String, Required: false},
		"bolt_plan":                  &hcldec.AttrSpec{Name: "bolt_plan", Type: cty.String, Required: false},
		"bolt_module_path":           &hcldec.AttrSpec{Name: "bolt_module_path", Type: cty.String, Required: false},
		"inventory_file":             &hcldec.AttrSpec{Name: "inventory_file", Type: cty.String, Required: false},
		"local_port":                 &hcldec.AttrSpec{Name: "local_port", Type: cty.Number, Required: false},
		"skip_version_check":         &hcldec.AttrSpec{Name: "skip_version_check", Type: cty.Bool, Required: false},
		"user":                       &hcldec.AttrSpec{Name: "user", Type: cty.String, Required: false},
		"ssh_host_key_file":          &hcldec.AttrSpec{Name: "ssh_host_key_file", Type: cty.String, Required: false},
		"ssh_authorized_key_file":    &hcldec.AttrSpec{Name: "ssh_authorized_key_file", Type: cty.String, Required: false},
		"winrm_ssl_verify":           &hcldec.AttrSpec{Name: "winrm_ssl_verify", Type: cty.Bool, Required: false},
	}
	return s
}
// HCL2Spec returns the hcl spec of a Config.
// This spec is used by HCL to read the fields of Config.
// The decoded values from this spec will then be applied to a FlatConfig.
HCL2Spec returns the hcl spec of a Config.
This spec is used by HCL to read the fields of Config.
The decoded values from this spec will then be applied to a FlatConfig.
// HCL2Spec returns the hcl spec of a Config . // This spec is used by HCL to read the fields of Config . // The decoded values from this spec will then be applied to a FlatConfig .
func (*FlatConfig) HCL2Spec() map[string]hcldec.Spec {
	s := map[string]hcldec.Spec{
		"packer_build_name":          &hcldec.AttrSpec{Name: "packer_build_name", Type: cty.String, Required: false},
		"packer_builder_type":        &hcldec.AttrSpec{Name: "packer_builder_type", Type: cty.String, Required: false},
		"packer_debug":               &hcldec.AttrSpec{Name: "packer_debug", Type: cty.Bool, Required: false},
		"packer_force":               &hcldec.AttrSpec{Name: "packer_force", Type: cty.Bool, Required: false},
		"packer_on_error":            &hcldec.AttrSpec{Name: "packer_on_error", Type: cty.String, Required: false},
		"packer_user_variables":      &hcldec.BlockAttrsSpec{TypeName: "packer_user_variables", ElementType: cty.String, Required: false},
		"packer_sensitive_variables": &hcldec.AttrSpec{Name: "packer_sensitive_variables", Type: cty.List(cty.String), Required: false},
		"command":                    &hcldec.AttrSpec{Name: "command", Type: cty.String, Required: false},
		"extra_arguments":            &hcldec.AttrSpec{Name: "extra_arguments", Type: cty.List(cty.String), Required: false},
		"bolt_env_vars":              &hcldec.AttrSpec{Name: "bolt_env_vars", Type: cty.List(cty.String), Required: false},
		"bolt_params":                &hcldec.BlockAttrsSpec{TypeName: "bolt_params", ElementType: cty.String, Required: false},
		"bolt_task":                  &hcldec.AttrSpec{Name: "bolt_task", Type: cty.String, Required: false},
		"bolt_plan":                  &hcldec.AttrSpec{Name: "bolt_plan", Type: cty.String, Required: false},
		"bolt_module_path":           &hcldec.AttrSpec{Name: "bolt_module_path", Type: cty.String, Required: false},
		"inventory_file":             &hcldec.AttrSpec{Name: "inventory_file", Type: cty.String, Required: false},
		"local_port":                 &hcldec.AttrSpec{Name: "local_port", Type: cty.Number, Required: false},
		"skip_version_check":         &hcldec.AttrSpec{Name: "skip_version_check", Type: cty.Bool, Required: false},
		"user":                       &hcldec.AttrSpec{Name: "user", Type: cty.String, Required: false},
		"ssh_host_key_file":          &hcldec.AttrSpec{Name: "ssh_host_key_file", Type: cty.String, Required: false},
		"ssh_authorized_key_file":    &hcldec.AttrSpec{Name: "ssh_authorized_key_file", Type: cty.String, Required: false},
		"winrm_ssl_verify":           &hcldec.AttrSpec{Name: "winrm_ssl_verify", Type: cty.Bool, Required: false},
	}
	return s
}
func ( * FlatConfig ) HCL2Spec ( ) map [ string ] hcldec . Spec { s := map [ string ] hcldec . Spec { " " : & hcldec . AttrSpec { Name : " " , Type : cty . String , Required : false } , " " : & hcldec . AttrSpec { Name : " " , Type : cty . String , Required : false } , " " : & hcldec . AttrSpec { Name : " " , Type : cty . Bool , Required : false } , " " : & hcldec . AttrSpec { Name : " " , Type : cty . Bool , Required : false } , " " : & hcldec . AttrSpec { Name : " " , Type : cty . String , Required : false } , " " : & hcldec . BlockAttrsSpec { TypeName : " " , ElementType : cty . String , Required : false } , " " : & hcldec . AttrSpec { Name : " " , Type : cty . List ( cty . String ) , Required : false } , " " : & hcldec . AttrSpec { Name : " " , Type : cty . String , Required : false } , " " : & hcldec . AttrSpec { Name : " " , Type : cty . List ( cty . String ) , Required : false } , " " : & hcldec . AttrSpec { Name : " " , Type : cty . List ( cty . String ) , Required : false } , " " : & hcldec . BlockAttrsSpec { TypeName : " " , ElementType : cty . String , Required : false } , " " : & hcldec . AttrSpec { Name : " " , Type : cty . String , Required : false } , " " : & hcldec . AttrSpec { Name : " " , Type : cty . String , Required : false } , " " : & hcldec . AttrSpec { Name : " " , Type : cty . String , Required : false } , " " : & hcldec . AttrSpec { Name : " " , Type : cty . String , Required : false } , " " : & hcldec . AttrSpec { Name : " " , Type : cty . Number , Required : false } , " " : & hcldec . AttrSpec { Name : " " , Type : cty . Bool , Required : false } , " " : & hcldec . AttrSpec { Name : " " , Type : cty . String , Required : false } , " " : & hcldec . AttrSpec { Name : " " , Type : cty . String , Required : false } , " " : & hcldec . AttrSpec { Name : " " , Type : cty . String , Required : false } , " " : & hcldec . AttrSpec { Name : " " , Type : cty . Bool , Required : false } , } return s }
HCL2Spec returns the hcl spec of a Config.
HCL2Spec returns the hcl spec of a Config .