github.com/hashicorp/packer@v1.14.3/hcl2template/shim/mock.go (about) 1 // Copyright (c) HashiCorp, Inc. 2 // SPDX-License-Identifier: BUSL-1.1 3 4 //go:generate packer-sdc mapstructure-to-hcl2 -type MockConfig,NestedMockConfig,MockTag 5 6 package hcl2shim 7 8 import ( 9 "time" 10 11 "github.com/hashicorp/packer-plugin-sdk/template/config" 12 ) 13 14 type NestedMockConfig struct { 15 String string `mapstructure:"string"` 16 Int int `mapstructure:"int"` 17 Int64 int64 `mapstructure:"int64"` 18 Bool bool `mapstructure:"bool"` 19 Trilean config.Trilean `mapstructure:"trilean"` 20 Duration time.Duration `mapstructure:"duration"` 21 MapStringString map[string]string `mapstructure:"map_string_string"` 22 SliceString []string `mapstructure:"slice_string"` 23 SliceSliceString [][]string `mapstructure:"slice_slice_string"` 24 NamedMapStringString NamedMapStringString `mapstructure:"named_map_string_string"` 25 NamedString NamedString `mapstructure:"named_string"` 26 Tags []MockTag `mapstructure:"tag"` 27 Datasource string `mapstructure:"data_source"` 28 } 29 30 type MockTag struct { 31 Key string `mapstructure:"key"` 32 Value string `mapstructure:"value"` 33 } 34 35 type MockConfig struct { 36 NotSquashed string `mapstructure:"not_squashed"` 37 NestedMockConfig `mapstructure:",squash"` 38 Nested NestedMockConfig `mapstructure:"nested"` 39 NestedSlice []NestedMockConfig `mapstructure:"nested_slice"` 40 } 41 42 type NamedMapStringString map[string]string 43 type NamedString string