// Code generated by "mapstructure-to-hcl2 -type BlockDevice"; DO NOT EDIT. package common import ( "github.com/hashicorp/hcl/v2/hcldec" "github.com/zclconf/go-cty/cty" ) // FlatBlockDevice is an auto-generated flat version of BlockDevice. // Where the contents of a field with a `mapstructure:,squash` tag are bubbled up. type FlatBlockDevice struct { DeleteOnTermination *bool `mapstructure:"delete_on_termination" required:"false" cty:"delete_on_termination"` DeviceName *string `mapstructure:"device_name" required:"false" cty:"device_name"` Encrypted *bool `mapstructure:"encrypted" required:"false" cty:"encrypted"` IOPS *int64 `mapstructure:"iops" required:"false" cty:"iops"` NoDevice *bool `mapstructure:"no_device" required:"false" cty:"no_device"` SnapshotId *string `mapstructure:"snapshot_id" required:"false" cty:"snapshot_id"` VirtualName *string `mapstructure:"virtual_name" required:"false" cty:"virtual_name"` VolumeType *string `mapstructure:"volume_type" required:"false" cty:"volume_type"` VolumeSize *int64 `mapstructure:"volume_size" required:"false" cty:"volume_size"` KmsKeyId *string `mapstructure:"kms_key_id" required:"false" cty:"kms_key_id"` } // FlatMapstructure returns a new FlatBlockDevice. // FlatBlockDevice is an auto-generated flat version of BlockDevice. // Where the contents a fields with a `mapstructure:,squash` tag are bubbled up. func (*BlockDevice) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec } { return new(FlatBlockDevice) } // HCL2Spec returns the hcl spec of a BlockDevice. // This spec is used by HCL to read the fields of BlockDevice. // The decoded values from this spec will then be applied to a FlatBlockDevice. func (*FlatBlockDevice) HCL2Spec() map[string]hcldec.Spec { s := map[string]hcldec.Spec{ "delete_on_termination": &hcldec.AttrSpec{Name: "delete_on_termination", Type: cty.Bool, Required: false}, "device_name": &hcldec.AttrSpec{Name: "device_name", Type: cty.String, Required: false}, "encrypted": &hcldec.AttrSpec{Name: "encrypted", Type: cty.Bool, Required: false}, "iops": &hcldec.AttrSpec{Name: "iops", Type: cty.Number, Required: false}, "no_device": &hcldec.AttrSpec{Name: "no_device", Type: cty.Bool, Required: false}, "snapshot_id": &hcldec.AttrSpec{Name: "snapshot_id", Type: cty.String, Required: false}, "virtual_name": &hcldec.AttrSpec{Name: "virtual_name", Type: cty.String, Required: false}, "volume_type": &hcldec.AttrSpec{Name: "volume_type", Type: cty.String, Required: false}, "volume_size": &hcldec.AttrSpec{Name: "volume_size", Type: cty.Number, Required: false}, "kms_key_id": &hcldec.AttrSpec{Name: "kms_key_id", Type: cty.String, Required: false}, } return s }