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