Documentation
¶
Overview ¶
The linode package contains a packersdk.Builder implementation that builds Linode images.
Index ¶
- Constants
- type Artifact
- type Builder
- type Config
- type Disk
- type FlatConfig
- type FlatDisk
- type FlatInstanceConfig
- type FlatInstanceConfigDevice
- type FlatInstanceConfigDevices
- type FlatInstanceConfigHelpers
- type FlatInterface
- type FlatInterfaceDefaultRoute
- type FlatInterfaceIPv4
- type FlatLinodeInterface
- type FlatMetadata
- type FlatPublicInterface
- type FlatPublicInterfaceIPv4
- type FlatPublicInterfaceIPv4Address
- type FlatPublicInterfaceIPv6
- type FlatPublicInterfaceIPv6Range
- type FlatVLANInterface
- type FlatVPCInterface
- type FlatVPCInterfaceIPv4
- type FlatVPCInterfaceIPv4Address
- type FlatVPCInterfaceIPv4Range
- type FlatVPCInterfaceIPv6
- type FlatVPCInterfaceIPv6Range
- type FlatVPCInterfaceIPv6SLAAC
- type InstanceConfig
- type InstanceConfigDevice
- type InstanceConfigDevices
- type InstanceConfigHelpers
- type Interface
- type InterfaceDefaultRoute
- type InterfaceIPv4
- type LinodeInterface
- type Metadata
- type PublicInterface
- type PublicInterfaceIPv4
- type PublicInterfaceIPv4Address
- type PublicInterfaceIPv6
- type PublicInterfaceIPv6Range
- type StepCreateSSHKey
- type VLANInterface
- type VLANInterfaceAttributes
- type VPCInterface
- type VPCInterfaceAttributes
- type VPCInterfaceIPv4
- type VPCInterfaceIPv4Address
- type VPCInterfaceIPv4Range
- type VPCInterfaceIPv6
- type VPCInterfaceIPv6Range
- type VPCInterfaceIPv6SLAAC
Constants ¶
const BuilderID = "packer.linode"
The unique ID for this builder.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Artifact ¶
type Builder ¶
type Builder struct {
// contains filtered or unexported fields
}
Builder represents a Packer Builder.
func (*Builder) ConfigSpec ¶
func (b *Builder) ConfigSpec() hcldec.ObjectSpec
type Config ¶
type Config struct {
common.PackerConfig `mapstructure:",squash"`
helper.LinodeCommon `mapstructure:",squash"`
Comm communicator.Config `mapstructure:",squash"`
// Legacy Config Network Interfaces to add to this Linode’s Configuration Profile. Singular repeatable
// block containing a `purpose`, a `label`, and an `ipam_address` field.
Interfaces []Interface `mapstructure:"interface" required:"false"`
// Newer Linode Network Interfaces to add to this Linode.
LinodeInterfaces []LinodeInterface `mapstructure:"linode_interface" required:"false"`
// The id of the region to launch the Linode instance in. Images are available in all
// regions, but there will be less delay when deploying from the region where the image
// was taken. See [regions](https://api.linode.com/v4/regions) for more information on
// the available regions. Examples are `us-east`, `us-central`, `us-west`, `ap-south`,
// `ca-east`, `ap-northeast`, `eu-central`, and `eu-west`.
Region string `mapstructure:"region" required:"true"`
// Public SSH keys need to be appended to the Linode instance.
AuthorizedKeys []string `mapstructure:"authorized_keys" required:"false"`
// Users whose SSH keys need to be appended to the Linode instance.
AuthorizedUsers []string `mapstructure:"authorized_users" required:"false"`
// The Linode type defines the pricing, CPU, disk, and RAM specs of the instance. See
// [instance types](https://api.linode.com/v4/linode/types) for more information on the
// available Linode instance types. Examples are `g6-nanode-1`, `g6-standard-2`,
// `g6-highmem-16`, and `g6-dedicated-16`.
InstanceType string `mapstructure:"instance_type" required:"true"`
// The name assigned to the Linode Instance.
Label string `mapstructure:"instance_label" required:"false"`
// Tags to apply to the instance when it is created.
Tags []string `mapstructure:"instance_tags" required:"false"`
// An Image ID to deploy the Disk from. Official Linode Images start with `linode/`,
// while user Images start with `private/`. See [images](https://api.linode.com/v4/images)
// for more information on the Images available for use. Examples are `linode/debian12`,
// `linode/debian13`, `linode/ubuntu24.04`, `linode/arch`, and `private/12345`.
Image string `mapstructure:"image" required:"false"`
// The disk size (MiB) allocated for swap space.
SwapSize *int `mapstructure:"swap_size" required:"false"`
// The size (MiB) of the primary boot disk. Any remaining disk space beyond
// the boot disk and swap partition is left unallocated. If not specified,
// the boot disk will use all available space after swap.
BootSize *int `mapstructure:"boot_size" required:"false"`
// The kernel to boot the instance with. This can be a kernel ID such as
// "linode/latest-64bit" or "linode/grub2". See the available kernels at
// https://api.linode.com/v4/linode/kernels.
Kernel string `mapstructure:"kernel" required:"false"`
// If true, the created Linode will have private networking enabled and assigned
// a private IPv4 address.
PrivateIP bool `mapstructure:"private_ip" required:"false"`
// The root password of the Linode instance for building the image. Please note that when
// you create a new Linode instance with an image, at least one of root_pass,
// authorized_keys, or authorized_users must be provided
RootPass string `mapstructure:"root_pass" required:"false"`
// The name of the resulting image that will appear
// in your account. Defaults to `packer-{{timestamp}}` (see [configuration
// templates](/packer/docs/templates/legacy_json_templates/engine) for more info).
ImageLabel string `mapstructure:"image_label" required:"false"`
// The description of the resulting image that will appear in your account. Defaults to "".
Description string `mapstructure:"image_description" required:"false"`
// The time to wait, as a duration string, for the Linode instance to enter a desired state
// (such as "running") before timing out. The default state timeout is "5m".
StateTimeout time.Duration `mapstructure:"state_timeout" required:"false"`
// This attribute is required only if the StackScript being deployed requires input data from
// the User for successful completion. See User Defined Fields (UDFs) for more details.
//
// This attribute is required to be valid JSON.
StackScriptData map[string]string `mapstructure:"stackscript_data" required:"false"`
// A StackScript ID that will cause the referenced StackScript to be run during deployment
// of this Linode. A compatible image is required to use a StackScript. To get a list of
// available StackScript and their permitted Images see /stackscripts. This field cannot
// be used when deploying from a Backup or a Private Image.
StackScriptID int `mapstructure:"stackscript_id" required:"false"`
// The time to wait, as a duration string, for the disk image to be created successfully
// before timing out. The default image creation timeout is "10m".
ImageCreateTimeout time.Duration `mapstructure:"image_create_timeout" required:"false"`
// Whether the newly created image supports cloud-init.
CloudInit bool `mapstructure:"cloud_init" required:"false"`
// An object containing user-defined data relevant to the creation of Linodes.
Metadata Metadata `mapstructure:"metadata" required:"false"`
// The ID of the Firewall to attach this Linode to upon creation.
FirewallID int `mapstructure:"firewall_id" required:"false"`
// The regions where the outcome image will be replicated to.
ImageRegions []string `mapstructure:"image_regions" required:"false"`
// immediately after image creation.
ImageShareGroupIDs []int `mapstructure:"image_share_group_ids" required:"false"`
// Specifies the interface type for the Linode. The value can be either
// `legacy_config` or `linode`. The default value is determined by the
// `interfaces_for_new_linodes` setting in the account settings.
InterfaceGeneration string `mapstructure:"interface_generation" required:"false"`
// Custom disks to create for this Linode. When specified, you are responsible
// for creating all disks including the boot disk. See the `disk` block
// documentation for available options.
Disks []Disk `mapstructure:"disk" required:"false"`
// Custom configuration profiles to create for this Linode. When specified,
// you are responsible for creating all configuration profiles.
// See the `config` block documentation for available options.
InstanceConfigs []InstanceConfig `mapstructure:"config" required:"false"`
// contains filtered or unexported fields
}
func (*Config) FlatMapstructure ¶
FlatMapstructure returns a new FlatConfig. FlatConfig is an auto-generated flat version of Config. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type Disk ¶ added in v1.10.0
type Disk struct {
// The label for this disk.
Label string `mapstructure:"label" required:"true"`
// The size of the disk in MB. NOTE: Resizing a disk can only be done
// when the Linode is offline and may take some time.
Size int `mapstructure:"size" required:"true"`
// An Image ID to deploy the Linode Disk from. If provided,
// at least one of root_pass, authorized_keys, or authorized_users
// must be provided to ensure access.
Image string `mapstructure:"image" required:"false"`
// The filesystem for the disk. Valid values are raw, swap, ext3, ext4, initrd.
// Defaults to ext4.
Filesystem string `mapstructure:"filesystem" required:"false"`
// The root password for this disk when deploying from an image.
RootPass string `mapstructure:"root_pass" required:"false"`
// A list of public SSH keys to be installed on the disk as the root user's
// ~/.ssh/authorized_keys file.
AuthorizedKeys []string `mapstructure:"authorized_keys" required:"false"`
// A list of usernames that will have their SSH keys installed as the root
// user's ~/.ssh/authorized_keys file.
AuthorizedUsers []string `mapstructure:"authorized_users" required:"false"`
// A StackScript ID to deploy to this disk. Only applies to Image-based disks.
StackscriptID int `mapstructure:"stackscript_id" required:"false"`
// UDF data to pass to the StackScript.
StackscriptData map[string]string `mapstructure:"stackscript_data" required:"false"`
}
Disk represents a disk to be created for the Linode instance. See https://techdocs.akamai.com/linode-api/reference/post-add-linode-disk
type FlatConfig ¶
type FlatConfig struct {
PackerBuildName *string `mapstructure:"packer_build_name" cty:"packer_build_name" hcl:"packer_build_name"`
PackerBuilderType *string `mapstructure:"packer_builder_type" cty:"packer_builder_type" hcl:"packer_builder_type"`
PackerCoreVersion *string `mapstructure:"packer_core_version" cty:"packer_core_version" hcl:"packer_core_version"`
PackerDebug *bool `mapstructure:"packer_debug" cty:"packer_debug" hcl:"packer_debug"`
PackerForce *bool `mapstructure:"packer_force" cty:"packer_force" hcl:"packer_force"`
PackerOnError *string `mapstructure:"packer_on_error" cty:"packer_on_error" hcl:"packer_on_error"`
PackerUserVars map[string]string `mapstructure:"packer_user_variables" cty:"packer_user_variables" hcl:"packer_user_variables"`
PackerSensitiveVars []string `mapstructure:"packer_sensitive_variables" cty:"packer_sensitive_variables" hcl:"packer_sensitive_variables"`
PersonalAccessToken *string `mapstructure:"linode_token" cty:"linode_token" hcl:"linode_token"`
APICAPath *string `mapstructure:"api_ca_path" cty:"api_ca_path" hcl:"api_ca_path"`
Type *string `mapstructure:"communicator" cty:"communicator" hcl:"communicator"`
PauseBeforeConnect *string `mapstructure:"pause_before_connecting" cty:"pause_before_connecting" hcl:"pause_before_connecting"`
SSHHost *string `mapstructure:"ssh_host" cty:"ssh_host" hcl:"ssh_host"`
SSHPort *int `mapstructure:"ssh_port" cty:"ssh_port" hcl:"ssh_port"`
SSHUsername *string `mapstructure:"ssh_username" cty:"ssh_username" hcl:"ssh_username"`
SSHPassword *string `mapstructure:"ssh_password" cty:"ssh_password" hcl:"ssh_password"`
SSHKeyPairName *string `mapstructure:"ssh_keypair_name" undocumented:"true" cty:"ssh_keypair_name" hcl:"ssh_keypair_name"`
SSHTemporaryKeyPairName *string `mapstructure:"temporary_key_pair_name" undocumented:"true" cty:"temporary_key_pair_name" hcl:"temporary_key_pair_name"`
SSHTemporaryKeyPairType *string `mapstructure:"temporary_key_pair_type" cty:"temporary_key_pair_type" hcl:"temporary_key_pair_type"`
SSHTemporaryKeyPairBits *int `mapstructure:"temporary_key_pair_bits" cty:"temporary_key_pair_bits" hcl:"temporary_key_pair_bits"`
SSHCiphers []string `mapstructure:"ssh_ciphers" cty:"ssh_ciphers" hcl:"ssh_ciphers"`
SSHClearAuthorizedKeys *bool `mapstructure:"ssh_clear_authorized_keys" cty:"ssh_clear_authorized_keys" hcl:"ssh_clear_authorized_keys"`
SSHKEXAlgos []string `mapstructure:"ssh_key_exchange_algorithms" cty:"ssh_key_exchange_algorithms" hcl:"ssh_key_exchange_algorithms"`
SSHPrivateKeyFile *string `mapstructure:"ssh_private_key_file" undocumented:"true" cty:"ssh_private_key_file" hcl:"ssh_private_key_file"`
SSHCertificateFile *string `mapstructure:"ssh_certificate_file" cty:"ssh_certificate_file" hcl:"ssh_certificate_file"`
SSHPty *bool `mapstructure:"ssh_pty" cty:"ssh_pty" hcl:"ssh_pty"`
SSHTimeout *string `mapstructure:"ssh_timeout" cty:"ssh_timeout" hcl:"ssh_timeout"`
SSHWaitTimeout *string `mapstructure:"ssh_wait_timeout" undocumented:"true" cty:"ssh_wait_timeout" hcl:"ssh_wait_timeout"`
SSHAgentAuth *bool `mapstructure:"ssh_agent_auth" undocumented:"true" cty:"ssh_agent_auth" hcl:"ssh_agent_auth"`
SSHDisableAgentForwarding *bool `mapstructure:"ssh_disable_agent_forwarding" cty:"ssh_disable_agent_forwarding" hcl:"ssh_disable_agent_forwarding"`
SSHHandshakeAttempts *int `mapstructure:"ssh_handshake_attempts" cty:"ssh_handshake_attempts" hcl:"ssh_handshake_attempts"`
SSHBastionHost *string `mapstructure:"ssh_bastion_host" cty:"ssh_bastion_host" hcl:"ssh_bastion_host"`
SSHBastionPort *int `mapstructure:"ssh_bastion_port" cty:"ssh_bastion_port" hcl:"ssh_bastion_port"`
SSHBastionAgentAuth *bool `mapstructure:"ssh_bastion_agent_auth" cty:"ssh_bastion_agent_auth" hcl:"ssh_bastion_agent_auth"`
SSHBastionUsername *string `mapstructure:"ssh_bastion_username" cty:"ssh_bastion_username" hcl:"ssh_bastion_username"`
SSHBastionPassword *string `mapstructure:"ssh_bastion_password" cty:"ssh_bastion_password" hcl:"ssh_bastion_password"`
SSHBastionInteractive *bool `mapstructure:"ssh_bastion_interactive" cty:"ssh_bastion_interactive" hcl:"ssh_bastion_interactive"`
SSHBastionPrivateKeyFile *string `mapstructure:"ssh_bastion_private_key_file" cty:"ssh_bastion_private_key_file" hcl:"ssh_bastion_private_key_file"`
SSHBastionCertificateFile *string `mapstructure:"ssh_bastion_certificate_file" cty:"ssh_bastion_certificate_file" hcl:"ssh_bastion_certificate_file"`
SSHFileTransferMethod *string `mapstructure:"ssh_file_transfer_method" cty:"ssh_file_transfer_method" hcl:"ssh_file_transfer_method"`
SSHProxyHost *string `mapstructure:"ssh_proxy_host" cty:"ssh_proxy_host" hcl:"ssh_proxy_host"`
SSHProxyPort *int `mapstructure:"ssh_proxy_port" cty:"ssh_proxy_port" hcl:"ssh_proxy_port"`
SSHProxyUsername *string `mapstructure:"ssh_proxy_username" cty:"ssh_proxy_username" hcl:"ssh_proxy_username"`
SSHProxyPassword *string `mapstructure:"ssh_proxy_password" cty:"ssh_proxy_password" hcl:"ssh_proxy_password"`
SSHKeepAliveInterval *string `mapstructure:"ssh_keep_alive_interval" cty:"ssh_keep_alive_interval" hcl:"ssh_keep_alive_interval"`
SSHReadWriteTimeout *string `mapstructure:"ssh_read_write_timeout" cty:"ssh_read_write_timeout" hcl:"ssh_read_write_timeout"`
SSHRemoteTunnels []string `mapstructure:"ssh_remote_tunnels" cty:"ssh_remote_tunnels" hcl:"ssh_remote_tunnels"`
SSHLocalTunnels []string `mapstructure:"ssh_local_tunnels" cty:"ssh_local_tunnels" hcl:"ssh_local_tunnels"`
SSHPublicKey []byte `mapstructure:"ssh_public_key" undocumented:"true" cty:"ssh_public_key" hcl:"ssh_public_key"`
SSHPrivateKey []byte `mapstructure:"ssh_private_key" undocumented:"true" cty:"ssh_private_key" hcl:"ssh_private_key"`
WinRMUser *string `mapstructure:"winrm_username" cty:"winrm_username" hcl:"winrm_username"`
WinRMPassword *string `mapstructure:"winrm_password" cty:"winrm_password" hcl:"winrm_password"`
WinRMHost *string `mapstructure:"winrm_host" cty:"winrm_host" hcl:"winrm_host"`
WinRMNoProxy *bool `mapstructure:"winrm_no_proxy" cty:"winrm_no_proxy" hcl:"winrm_no_proxy"`
WinRMPort *int `mapstructure:"winrm_port" cty:"winrm_port" hcl:"winrm_port"`
WinRMTimeout *string `mapstructure:"winrm_timeout" cty:"winrm_timeout" hcl:"winrm_timeout"`
WinRMUseSSL *bool `mapstructure:"winrm_use_ssl" cty:"winrm_use_ssl" hcl:"winrm_use_ssl"`
WinRMInsecure *bool `mapstructure:"winrm_insecure" cty:"winrm_insecure" hcl:"winrm_insecure"`
WinRMUseNTLM *bool `mapstructure:"winrm_use_ntlm" cty:"winrm_use_ntlm" hcl:"winrm_use_ntlm"`
Interfaces []FlatInterface `mapstructure:"interface" required:"false" cty:"interface" hcl:"interface"`
LinodeInterfaces []FlatLinodeInterface `mapstructure:"linode_interface" required:"false" cty:"linode_interface" hcl:"linode_interface"`
Region *string `mapstructure:"region" required:"true" cty:"region" hcl:"region"`
AuthorizedKeys []string `mapstructure:"authorized_keys" required:"false" cty:"authorized_keys" hcl:"authorized_keys"`
AuthorizedUsers []string `mapstructure:"authorized_users" required:"false" cty:"authorized_users" hcl:"authorized_users"`
InstanceType *string `mapstructure:"instance_type" required:"true" cty:"instance_type" hcl:"instance_type"`
Label *string `mapstructure:"instance_label" required:"false" cty:"instance_label" hcl:"instance_label"`
Tags []string `mapstructure:"instance_tags" required:"false" cty:"instance_tags" hcl:"instance_tags"`
Image *string `mapstructure:"image" required:"false" cty:"image" hcl:"image"`
SwapSize *int `mapstructure:"swap_size" required:"false" cty:"swap_size" hcl:"swap_size"`
BootSize *int `mapstructure:"boot_size" required:"false" cty:"boot_size" hcl:"boot_size"`
Kernel *string `mapstructure:"kernel" required:"false" cty:"kernel" hcl:"kernel"`
PrivateIP *bool `mapstructure:"private_ip" required:"false" cty:"private_ip" hcl:"private_ip"`
RootPass *string `mapstructure:"root_pass" required:"false" cty:"root_pass" hcl:"root_pass"`
ImageLabel *string `mapstructure:"image_label" required:"false" cty:"image_label" hcl:"image_label"`
Description *string `mapstructure:"image_description" required:"false" cty:"image_description" hcl:"image_description"`
StateTimeout *string `mapstructure:"state_timeout" required:"false" cty:"state_timeout" hcl:"state_timeout"`
StackScriptData map[string]string `mapstructure:"stackscript_data" required:"false" cty:"stackscript_data" hcl:"stackscript_data"`
StackScriptID *int `mapstructure:"stackscript_id" required:"false" cty:"stackscript_id" hcl:"stackscript_id"`
ImageCreateTimeout *string `mapstructure:"image_create_timeout" required:"false" cty:"image_create_timeout" hcl:"image_create_timeout"`
CloudInit *bool `mapstructure:"cloud_init" required:"false" cty:"cloud_init" hcl:"cloud_init"`
Metadata *FlatMetadata `mapstructure:"metadata" required:"false" cty:"metadata" hcl:"metadata"`
FirewallID *int `mapstructure:"firewall_id" required:"false" cty:"firewall_id" hcl:"firewall_id"`
ImageRegions []string `mapstructure:"image_regions" required:"false" cty:"image_regions" hcl:"image_regions"`
InterfaceGeneration *string `mapstructure:"interface_generation" required:"false" cty:"interface_generation" hcl:"interface_generation"`
Disks []FlatDisk `mapstructure:"disk" required:"false" cty:"disk" hcl:"disk"`
InstanceConfigs []FlatInstanceConfig `mapstructure:"config" required:"false" cty:"config" hcl:"config"`
}
FlatConfig is an auto-generated flat version of Config. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
type FlatDisk ¶ added in v1.10.0
type FlatDisk struct {
Label *string `mapstructure:"label" required:"true" cty:"label" hcl:"label"`
Size *int `mapstructure:"size" required:"true" cty:"size" hcl:"size"`
Image *string `mapstructure:"image" required:"false" cty:"image" hcl:"image"`
Filesystem *string `mapstructure:"filesystem" required:"false" cty:"filesystem" hcl:"filesystem"`
RootPass *string `mapstructure:"root_pass" required:"false" cty:"root_pass" hcl:"root_pass"`
AuthorizedKeys []string `mapstructure:"authorized_keys" required:"false" cty:"authorized_keys" hcl:"authorized_keys"`
AuthorizedUsers []string `mapstructure:"authorized_users" required:"false" cty:"authorized_users" hcl:"authorized_users"`
StackscriptID *int `mapstructure:"stackscript_id" required:"false" cty:"stackscript_id" hcl:"stackscript_id"`
StackscriptData map[string]string `mapstructure:"stackscript_data" required:"false" cty:"stackscript_data" hcl:"stackscript_data"`
}
FlatDisk is an auto-generated flat version of Disk. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
type FlatInstanceConfig ¶ added in v1.10.0
type FlatInstanceConfig struct {
Label *string `mapstructure:"label" required:"true" cty:"label" hcl:"label"`
Booted *bool `mapstructure:"booted" required:"false" cty:"booted" hcl:"booted"`
Comments *string `mapstructure:"comments" required:"false" cty:"comments" hcl:"comments"`
Devices *FlatInstanceConfigDevices `mapstructure:"devices" required:"true" cty:"devices" hcl:"devices"`
Helpers *FlatInstanceConfigHelpers `mapstructure:"helpers" required:"false" cty:"helpers" hcl:"helpers"`
Interfaces []FlatInterface `mapstructure:"interface" required:"false" cty:"interface" hcl:"interface"`
MemoryLimit *int `mapstructure:"memory_limit" required:"false" cty:"memory_limit" hcl:"memory_limit"`
Kernel *string `mapstructure:"kernel" required:"false" cty:"kernel" hcl:"kernel"`
InitRD *int `mapstructure:"init_rd" required:"false" cty:"init_rd" hcl:"init_rd"`
RootDevice *string `mapstructure:"root_device" required:"false" cty:"root_device" hcl:"root_device"`
RunLevel *string `mapstructure:"run_level" required:"false" cty:"run_level" hcl:"run_level"`
VirtMode *string `mapstructure:"virt_mode" required:"false" cty:"virt_mode" hcl:"virt_mode"`
}
FlatInstanceConfig is an auto-generated flat version of InstanceConfig. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
func (*FlatInstanceConfig) HCL2Spec ¶ added in v1.10.0
func (*FlatInstanceConfig) HCL2Spec() map[string]hcldec.Spec
HCL2Spec returns the hcl spec of a InstanceConfig. This spec is used by HCL to read the fields of InstanceConfig. The decoded values from this spec will then be applied to a FlatInstanceConfig.
type FlatInstanceConfigDevice ¶ added in v1.10.0
type FlatInstanceConfigDevice struct {
DiskLabel *string `mapstructure:"disk_label" required:"false" cty:"disk_label" hcl:"disk_label"`
VolumeID *int `mapstructure:"volume_id" required:"false" cty:"volume_id" hcl:"volume_id"`
}
FlatInstanceConfigDevice is an auto-generated flat version of InstanceConfigDevice. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
func (*FlatInstanceConfigDevice) HCL2Spec ¶ added in v1.10.0
func (*FlatInstanceConfigDevice) HCL2Spec() map[string]hcldec.Spec
HCL2Spec returns the hcl spec of a InstanceConfigDevice. This spec is used by HCL to read the fields of InstanceConfigDevice. The decoded values from this spec will then be applied to a FlatInstanceConfigDevice.
type FlatInstanceConfigDevices ¶ added in v1.10.0
type FlatInstanceConfigDevices struct {
SDA *FlatInstanceConfigDevice `mapstructure:"sda" required:"false" cty:"sda" hcl:"sda"`
SDB *FlatInstanceConfigDevice `mapstructure:"sdb" required:"false" cty:"sdb" hcl:"sdb"`
SDC *FlatInstanceConfigDevice `mapstructure:"sdc" required:"false" cty:"sdc" hcl:"sdc"`
SDD *FlatInstanceConfigDevice `mapstructure:"sdd" required:"false" cty:"sdd" hcl:"sdd"`
SDE *FlatInstanceConfigDevice `mapstructure:"sde" required:"false" cty:"sde" hcl:"sde"`
SDF *FlatInstanceConfigDevice `mapstructure:"sdf" required:"false" cty:"sdf" hcl:"sdf"`
SDG *FlatInstanceConfigDevice `mapstructure:"sdg" required:"false" cty:"sdg" hcl:"sdg"`
SDH *FlatInstanceConfigDevice `mapstructure:"sdh" required:"false" cty:"sdh" hcl:"sdh"`
SDI *FlatInstanceConfigDevice `mapstructure:"sdi" required:"false" cty:"sdi" hcl:"sdi"`
SDJ *FlatInstanceConfigDevice `mapstructure:"sdj" required:"false" cty:"sdj" hcl:"sdj"`
SDK *FlatInstanceConfigDevice `mapstructure:"sdk" required:"false" cty:"sdk" hcl:"sdk"`
SDL *FlatInstanceConfigDevice `mapstructure:"sdl" required:"false" cty:"sdl" hcl:"sdl"`
SDM *FlatInstanceConfigDevice `mapstructure:"sdm" required:"false" cty:"sdm" hcl:"sdm"`
SDN *FlatInstanceConfigDevice `mapstructure:"sdn" required:"false" cty:"sdn" hcl:"sdn"`
SDO *FlatInstanceConfigDevice `mapstructure:"sdo" required:"false" cty:"sdo" hcl:"sdo"`
SDP *FlatInstanceConfigDevice `mapstructure:"sdp" required:"false" cty:"sdp" hcl:"sdp"`
SDQ *FlatInstanceConfigDevice `mapstructure:"sdq" required:"false" cty:"sdq" hcl:"sdq"`
SDR *FlatInstanceConfigDevice `mapstructure:"sdr" required:"false" cty:"sdr" hcl:"sdr"`
SDS *FlatInstanceConfigDevice `mapstructure:"sds" required:"false" cty:"sds" hcl:"sds"`
SDT *FlatInstanceConfigDevice `mapstructure:"sdt" required:"false" cty:"sdt" hcl:"sdt"`
SDU *FlatInstanceConfigDevice `mapstructure:"sdu" required:"false" cty:"sdu" hcl:"sdu"`
SDV *FlatInstanceConfigDevice `mapstructure:"sdv" required:"false" cty:"sdv" hcl:"sdv"`
SDW *FlatInstanceConfigDevice `mapstructure:"sdw" required:"false" cty:"sdw" hcl:"sdw"`
SDX *FlatInstanceConfigDevice `mapstructure:"sdx" required:"false" cty:"sdx" hcl:"sdx"`
SDY *FlatInstanceConfigDevice `mapstructure:"sdy" required:"false" cty:"sdy" hcl:"sdy"`
SDZ *FlatInstanceConfigDevice `mapstructure:"sdz" required:"false" cty:"sdz" hcl:"sdz"`
SDAA *FlatInstanceConfigDevice `mapstructure:"sdaa" required:"false" cty:"sdaa" hcl:"sdaa"`
SDAB *FlatInstanceConfigDevice `mapstructure:"sdab" required:"false" cty:"sdab" hcl:"sdab"`
SDAC *FlatInstanceConfigDevice `mapstructure:"sdac" required:"false" cty:"sdac" hcl:"sdac"`
SDAD *FlatInstanceConfigDevice `mapstructure:"sdad" required:"false" cty:"sdad" hcl:"sdad"`
SDAE *FlatInstanceConfigDevice `mapstructure:"sdae" required:"false" cty:"sdae" hcl:"sdae"`
SDAF *FlatInstanceConfigDevice `mapstructure:"sdaf" required:"false" cty:"sdaf" hcl:"sdaf"`
SDAG *FlatInstanceConfigDevice `mapstructure:"sdag" required:"false" cty:"sdag" hcl:"sdag"`
SDAH *FlatInstanceConfigDevice `mapstructure:"sdah" required:"false" cty:"sdah" hcl:"sdah"`
SDAI *FlatInstanceConfigDevice `mapstructure:"sdai" required:"false" cty:"sdai" hcl:"sdai"`
SDAJ *FlatInstanceConfigDevice `mapstructure:"sdaj" required:"false" cty:"sdaj" hcl:"sdaj"`
SDAK *FlatInstanceConfigDevice `mapstructure:"sdak" required:"false" cty:"sdak" hcl:"sdak"`
SDAL *FlatInstanceConfigDevice `mapstructure:"sdal" required:"false" cty:"sdal" hcl:"sdal"`
SDAM *FlatInstanceConfigDevice `mapstructure:"sdam" required:"false" cty:"sdam" hcl:"sdam"`
SDAN *FlatInstanceConfigDevice `mapstructure:"sdan" required:"false" cty:"sdan" hcl:"sdan"`
SDAO *FlatInstanceConfigDevice `mapstructure:"sdao" required:"false" cty:"sdao" hcl:"sdao"`
SDAP *FlatInstanceConfigDevice `mapstructure:"sdap" required:"false" cty:"sdap" hcl:"sdap"`
SDAQ *FlatInstanceConfigDevice `mapstructure:"sdaq" required:"false" cty:"sdaq" hcl:"sdaq"`
SDAR *FlatInstanceConfigDevice `mapstructure:"sdar" required:"false" cty:"sdar" hcl:"sdar"`
SDAS *FlatInstanceConfigDevice `mapstructure:"sdas" required:"false" cty:"sdas" hcl:"sdas"`
SDAT *FlatInstanceConfigDevice `mapstructure:"sdat" required:"false" cty:"sdat" hcl:"sdat"`
SDAU *FlatInstanceConfigDevice `mapstructure:"sdau" required:"false" cty:"sdau" hcl:"sdau"`
SDAV *FlatInstanceConfigDevice `mapstructure:"sdav" required:"false" cty:"sdav" hcl:"sdav"`
SDAW *FlatInstanceConfigDevice `mapstructure:"sdaw" required:"false" cty:"sdaw" hcl:"sdaw"`
SDAX *FlatInstanceConfigDevice `mapstructure:"sdax" required:"false" cty:"sdax" hcl:"sdax"`
SDAY *FlatInstanceConfigDevice `mapstructure:"sday" required:"false" cty:"sday" hcl:"sday"`
SDAZ *FlatInstanceConfigDevice `mapstructure:"sdaz" required:"false" cty:"sdaz" hcl:"sdaz"`
SDBA *FlatInstanceConfigDevice `mapstructure:"sdba" required:"false" cty:"sdba" hcl:"sdba"`
SDBB *FlatInstanceConfigDevice `mapstructure:"sdbb" required:"false" cty:"sdbb" hcl:"sdbb"`
SDBC *FlatInstanceConfigDevice `mapstructure:"sdbc" required:"false" cty:"sdbc" hcl:"sdbc"`
SDBD *FlatInstanceConfigDevice `mapstructure:"sdbd" required:"false" cty:"sdbd" hcl:"sdbd"`
SDBE *FlatInstanceConfigDevice `mapstructure:"sdbe" required:"false" cty:"sdbe" hcl:"sdbe"`
SDBF *FlatInstanceConfigDevice `mapstructure:"sdbf" required:"false" cty:"sdbf" hcl:"sdbf"`
SDBG *FlatInstanceConfigDevice `mapstructure:"sdbg" required:"false" cty:"sdbg" hcl:"sdbg"`
SDBH *FlatInstanceConfigDevice `mapstructure:"sdbh" required:"false" cty:"sdbh" hcl:"sdbh"`
SDBI *FlatInstanceConfigDevice `mapstructure:"sdbi" required:"false" cty:"sdbi" hcl:"sdbi"`
SDBJ *FlatInstanceConfigDevice `mapstructure:"sdbj" required:"false" cty:"sdbj" hcl:"sdbj"`
SDBK *FlatInstanceConfigDevice `mapstructure:"sdbk" required:"false" cty:"sdbk" hcl:"sdbk"`
SDBL *FlatInstanceConfigDevice `mapstructure:"sdbl" required:"false" cty:"sdbl" hcl:"sdbl"`
}
FlatInstanceConfigDevices is an auto-generated flat version of InstanceConfigDevices. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
func (*FlatInstanceConfigDevices) HCL2Spec ¶ added in v1.10.0
func (*FlatInstanceConfigDevices) HCL2Spec() map[string]hcldec.Spec
HCL2Spec returns the hcl spec of a InstanceConfigDevices. This spec is used by HCL to read the fields of InstanceConfigDevices. The decoded values from this spec will then be applied to a FlatInstanceConfigDevices.
type FlatInstanceConfigHelpers ¶ added in v1.10.0
type FlatInstanceConfigHelpers struct {
UpdateDBDisabled *bool `mapstructure:"updatedb_disabled" required:"false" cty:"updatedb_disabled" hcl:"updatedb_disabled"`
Distro *bool `mapstructure:"distro" required:"false" cty:"distro" hcl:"distro"`
ModulesDep *bool `mapstructure:"modules_dep" required:"false" cty:"modules_dep" hcl:"modules_dep"`
Network *bool `mapstructure:"network" required:"false" cty:"network" hcl:"network"`
DevTmpFsAutomount *bool `mapstructure:"devtmpfs_automount" required:"false" cty:"devtmpfs_automount" hcl:"devtmpfs_automount"`
}
FlatInstanceConfigHelpers is an auto-generated flat version of InstanceConfigHelpers. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
func (*FlatInstanceConfigHelpers) HCL2Spec ¶ added in v1.10.0
func (*FlatInstanceConfigHelpers) HCL2Spec() map[string]hcldec.Spec
HCL2Spec returns the hcl spec of a InstanceConfigHelpers. This spec is used by HCL to read the fields of InstanceConfigHelpers. The decoded values from this spec will then be applied to a FlatInstanceConfigHelpers.
type FlatInterface ¶ added in v1.1.0
type FlatInterface struct {
Label *string `mapstructure:"label" cty:"label" hcl:"label"`
IPAMAddress *string `mapstructure:"ipam_address" cty:"ipam_address" hcl:"ipam_address"`
SubnetID *int `mapstructure:"subnet_id" cty:"subnet_id" hcl:"subnet_id"`
IPv4 *FlatInterfaceIPv4 `mapstructure:"ipv4" cty:"ipv4" hcl:"ipv4"`
IPRanges []string `mapstructure:"ip_ranges" cty:"ip_ranges" hcl:"ip_ranges"`
Purpose *string `mapstructure:"purpose" required:"true" cty:"purpose" hcl:"purpose"`
Primary *bool `mapstructure:"primary" cty:"primary" hcl:"primary"`
}
FlatInterface is an auto-generated flat version of Interface. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
type FlatInterfaceDefaultRoute ¶ added in v1.8.0
type FlatInterfaceDefaultRoute struct {
IPv4 *bool `mapstructure:"ipv4" required:"false" cty:"ipv4" hcl:"ipv4"`
IPv6 *bool `mapstructure:"ipv6" required:"false" cty:"ipv6" hcl:"ipv6"`
}
FlatInterfaceDefaultRoute is an auto-generated flat version of InterfaceDefaultRoute. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
func (*FlatInterfaceDefaultRoute) HCL2Spec ¶ added in v1.8.0
func (*FlatInterfaceDefaultRoute) HCL2Spec() map[string]hcldec.Spec
HCL2Spec returns the hcl spec of a InterfaceDefaultRoute. This spec is used by HCL to read the fields of InterfaceDefaultRoute. The decoded values from this spec will then be applied to a FlatInterfaceDefaultRoute.
type FlatInterfaceIPv4 ¶ added in v1.2.0
type FlatInterfaceIPv4 struct {
VPC *string `mapstructure:"vpc" cty:"vpc" hcl:"vpc"`
NAT1To1 *string `mapstructure:"nat_1_1" cty:"nat_1_1" hcl:"nat_1_1"`
}
FlatInterfaceIPv4 is an auto-generated flat version of InterfaceIPv4. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
func (*FlatInterfaceIPv4) HCL2Spec ¶ added in v1.2.0
func (*FlatInterfaceIPv4) HCL2Spec() map[string]hcldec.Spec
HCL2Spec returns the hcl spec of a InterfaceIPv4. This spec is used by HCL to read the fields of InterfaceIPv4. The decoded values from this spec will then be applied to a FlatInterfaceIPv4.
type FlatLinodeInterface ¶ added in v1.8.0
type FlatLinodeInterface struct {
FirewallID *int `mapstructure:"firewall_id" required:"false" cty:"firewall_id" hcl:"firewall_id"`
DefaultRoute *FlatInterfaceDefaultRoute `mapstructure:"default_route" required:"false" cty:"default_route" hcl:"default_route"`
Public *FlatPublicInterface `mapstructure:"public" required:"false" cty:"public" hcl:"public"`
VPC *FlatVPCInterface `mapstructure:"vpc" required:"false" cty:"vpc" hcl:"vpc"`
VLAN *FlatVLANInterface `mapstructure:"vlan" required:"false" cty:"vlan" hcl:"vlan"`
}
FlatLinodeInterface is an auto-generated flat version of LinodeInterface. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
func (*FlatLinodeInterface) HCL2Spec ¶ added in v1.8.0
func (*FlatLinodeInterface) HCL2Spec() map[string]hcldec.Spec
HCL2Spec returns the hcl spec of a LinodeInterface. This spec is used by HCL to read the fields of LinodeInterface. The decoded values from this spec will then be applied to a FlatLinodeInterface.
type FlatMetadata ¶ added in v1.5.0
type FlatMetadata struct {
UserData *string `mapstructure:"user_data" cty:"user_data" hcl:"user_data"`
}
FlatMetadata is an auto-generated flat version of Metadata. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
type FlatPublicInterface ¶ added in v1.8.0
type FlatPublicInterface struct {
IPv4 *FlatPublicInterfaceIPv4 `mapstructure:"ipv4" required:"false" cty:"ipv4" hcl:"ipv4"`
IPv6 *FlatPublicInterfaceIPv6 `mapstructure:"ipv6" required:"false" cty:"ipv6" hcl:"ipv6"`
}
FlatPublicInterface is an auto-generated flat version of PublicInterface. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
func (*FlatPublicInterface) HCL2Spec ¶ added in v1.8.0
func (*FlatPublicInterface) HCL2Spec() map[string]hcldec.Spec
HCL2Spec returns the hcl spec of a PublicInterface. This spec is used by HCL to read the fields of PublicInterface. The decoded values from this spec will then be applied to a FlatPublicInterface.
type FlatPublicInterfaceIPv4 ¶ added in v1.8.0
type FlatPublicInterfaceIPv4 struct {
Addresses []FlatPublicInterfaceIPv4Address `mapstructure:"address" required:"false" cty:"address" hcl:"address"`
}
FlatPublicInterfaceIPv4 is an auto-generated flat version of PublicInterfaceIPv4. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
func (*FlatPublicInterfaceIPv4) HCL2Spec ¶ added in v1.8.0
func (*FlatPublicInterfaceIPv4) HCL2Spec() map[string]hcldec.Spec
HCL2Spec returns the hcl spec of a PublicInterfaceIPv4. This spec is used by HCL to read the fields of PublicInterfaceIPv4. The decoded values from this spec will then be applied to a FlatPublicInterfaceIPv4.
type FlatPublicInterfaceIPv4Address ¶ added in v1.8.0
type FlatPublicInterfaceIPv4Address struct {
Address *string `mapstructure:"address" required:"true" cty:"address" hcl:"address"`
Primary *bool `mapstructure:"primary" required:"false" cty:"primary" hcl:"primary"`
}
FlatPublicInterfaceIPv4Address is an auto-generated flat version of PublicInterfaceIPv4Address. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
func (*FlatPublicInterfaceIPv4Address) HCL2Spec ¶ added in v1.8.0
func (*FlatPublicInterfaceIPv4Address) HCL2Spec() map[string]hcldec.Spec
HCL2Spec returns the hcl spec of a PublicInterfaceIPv4Address. This spec is used by HCL to read the fields of PublicInterfaceIPv4Address. The decoded values from this spec will then be applied to a FlatPublicInterfaceIPv4Address.
type FlatPublicInterfaceIPv6 ¶ added in v1.8.0
type FlatPublicInterfaceIPv6 struct {
Ranges []FlatPublicInterfaceIPv6Range `mapstructure:"ranges" required:"false" cty:"ranges" hcl:"ranges"`
}
FlatPublicInterfaceIPv6 is an auto-generated flat version of PublicInterfaceIPv6. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
func (*FlatPublicInterfaceIPv6) HCL2Spec ¶ added in v1.8.0
func (*FlatPublicInterfaceIPv6) HCL2Spec() map[string]hcldec.Spec
HCL2Spec returns the hcl spec of a PublicInterfaceIPv6. This spec is used by HCL to read the fields of PublicInterfaceIPv6. The decoded values from this spec will then be applied to a FlatPublicInterfaceIPv6.
type FlatPublicInterfaceIPv6Range ¶ added in v1.8.0
type FlatPublicInterfaceIPv6Range struct {
Range *string `mapstructure:"range" required:"true" cty:"range" hcl:"range"`
}
FlatPublicInterfaceIPv6Range is an auto-generated flat version of PublicInterfaceIPv6Range. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
func (*FlatPublicInterfaceIPv6Range) HCL2Spec ¶ added in v1.8.0
func (*FlatPublicInterfaceIPv6Range) HCL2Spec() map[string]hcldec.Spec
HCL2Spec returns the hcl spec of a PublicInterfaceIPv6Range. This spec is used by HCL to read the fields of PublicInterfaceIPv6Range. The decoded values from this spec will then be applied to a FlatPublicInterfaceIPv6Range.
type FlatVLANInterface ¶ added in v1.8.0
type FlatVLANInterface struct {
VLANLabel *string `mapstructure:"vlan_label" required:"true" cty:"vlan_label" hcl:"vlan_label"`
IPAMAddress *string `mapstructure:"ipam_address" required:"false" cty:"ipam_address" hcl:"ipam_address"`
}
FlatVLANInterface is an auto-generated flat version of VLANInterface. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
func (*FlatVLANInterface) HCL2Spec ¶ added in v1.8.0
func (*FlatVLANInterface) HCL2Spec() map[string]hcldec.Spec
HCL2Spec returns the hcl spec of a VLANInterface. This spec is used by HCL to read the fields of VLANInterface. The decoded values from this spec will then be applied to a FlatVLANInterface.
type FlatVPCInterface ¶ added in v1.8.0
type FlatVPCInterface struct {
SubnetID *int `mapstructure:"subnet_id" required:"true" cty:"subnet_id" hcl:"subnet_id"`
IPv4 *FlatVPCInterfaceIPv4 `mapstructure:"ipv4" required:"false" cty:"ipv4" hcl:"ipv4"`
IPv6 *FlatVPCInterfaceIPv6 `mapstructure:"ipv6" required:"false" cty:"ipv6" hcl:"ipv6"`
}
FlatVPCInterface is an auto-generated flat version of VPCInterface. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
type FlatVPCInterfaceIPv4 ¶ added in v1.8.0
type FlatVPCInterfaceIPv4 struct {
Addresses []FlatVPCInterfaceIPv4Address `mapstructure:"addresses" required:"false" cty:"addresses" hcl:"addresses"`
Ranges []FlatVPCInterfaceIPv4Range `mapstructure:"ranges" required:"false" cty:"ranges" hcl:"ranges"`
}
FlatVPCInterfaceIPv4 is an auto-generated flat version of VPCInterfaceIPv4. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
func (*FlatVPCInterfaceIPv4) HCL2Spec ¶ added in v1.8.0
func (*FlatVPCInterfaceIPv4) HCL2Spec() map[string]hcldec.Spec
HCL2Spec returns the hcl spec of a VPCInterfaceIPv4. This spec is used by HCL to read the fields of VPCInterfaceIPv4. The decoded values from this spec will then be applied to a FlatVPCInterfaceIPv4.
type FlatVPCInterfaceIPv4Address ¶ added in v1.8.0
type FlatVPCInterfaceIPv4Address struct {
Address *string `mapstructure:"address" required:"true" cty:"address" hcl:"address"`
Primary *bool `mapstructure:"primary" required:"false" cty:"primary" hcl:"primary"`
NAT1To1Address *string `mapstructure:"nat_1_1_address" required:"false" cty:"nat_1_1_address" hcl:"nat_1_1_address"`
}
FlatVPCInterfaceIPv4Address is an auto-generated flat version of VPCInterfaceIPv4Address. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
func (*FlatVPCInterfaceIPv4Address) HCL2Spec ¶ added in v1.8.0
func (*FlatVPCInterfaceIPv4Address) HCL2Spec() map[string]hcldec.Spec
HCL2Spec returns the hcl spec of a VPCInterfaceIPv4Address. This spec is used by HCL to read the fields of VPCInterfaceIPv4Address. The decoded values from this spec will then be applied to a FlatVPCInterfaceIPv4Address.
type FlatVPCInterfaceIPv4Range ¶ added in v1.8.0
type FlatVPCInterfaceIPv4Range struct {
Range *string `mapstructure:"range" required:"true" cty:"range" hcl:"range"`
}
FlatVPCInterfaceIPv4Range is an auto-generated flat version of VPCInterfaceIPv4Range. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
func (*FlatVPCInterfaceIPv4Range) HCL2Spec ¶ added in v1.8.0
func (*FlatVPCInterfaceIPv4Range) HCL2Spec() map[string]hcldec.Spec
HCL2Spec returns the hcl spec of a VPCInterfaceIPv4Range. This spec is used by HCL to read the fields of VPCInterfaceIPv4Range. The decoded values from this spec will then be applied to a FlatVPCInterfaceIPv4Range.
type FlatVPCInterfaceIPv6 ¶ added in v1.11.0
type FlatVPCInterfaceIPv6 struct {
SLAAC []FlatVPCInterfaceIPv6SLAAC `mapstructure:"slaac" required:"false" cty:"slaac" hcl:"slaac"`
Ranges []FlatVPCInterfaceIPv6Range `mapstructure:"ranges" required:"false" cty:"ranges" hcl:"ranges"`
IsPublic *bool `mapstructure:"is_public" required:"false" cty:"is_public" hcl:"is_public"`
}
FlatVPCInterfaceIPv6 is an auto-generated flat version of VPCInterfaceIPv6. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
func (*FlatVPCInterfaceIPv6) HCL2Spec ¶ added in v1.11.0
func (*FlatVPCInterfaceIPv6) HCL2Spec() map[string]hcldec.Spec
HCL2Spec returns the hcl spec of a VPCInterfaceIPv6. This spec is used by HCL to read the fields of VPCInterfaceIPv6. The decoded values from this spec will then be applied to a FlatVPCInterfaceIPv6.
type FlatVPCInterfaceIPv6Range ¶ added in v1.11.0
type FlatVPCInterfaceIPv6Range struct {
Range *string `mapstructure:"range" required:"true" cty:"range" hcl:"range"`
}
FlatVPCInterfaceIPv6Range is an auto-generated flat version of VPCInterfaceIPv6Range. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
func (*FlatVPCInterfaceIPv6Range) HCL2Spec ¶ added in v1.11.0
func (*FlatVPCInterfaceIPv6Range) HCL2Spec() map[string]hcldec.Spec
HCL2Spec returns the hcl spec of a VPCInterfaceIPv6Range. This spec is used by HCL to read the fields of VPCInterfaceIPv6Range. The decoded values from this spec will then be applied to a FlatVPCInterfaceIPv6Range.
type FlatVPCInterfaceIPv6SLAAC ¶ added in v1.11.0
type FlatVPCInterfaceIPv6SLAAC struct {
Range *string `mapstructure:"range" required:"true" cty:"range" hcl:"range"`
}
FlatVPCInterfaceIPv6SLAAC is an auto-generated flat version of VPCInterfaceIPv6SLAAC. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
func (*FlatVPCInterfaceIPv6SLAAC) HCL2Spec ¶ added in v1.11.0
func (*FlatVPCInterfaceIPv6SLAAC) HCL2Spec() map[string]hcldec.Spec
HCL2Spec returns the hcl spec of a VPCInterfaceIPv6SLAAC. This spec is used by HCL to read the fields of VPCInterfaceIPv6SLAAC. The decoded values from this spec will then be applied to a FlatVPCInterfaceIPv6SLAAC.
type InstanceConfig ¶ added in v1.10.0
type InstanceConfig struct {
// The label for this configuration profile.
Label string `mapstructure:"label" required:"true"`
// Whether to boot the Linode with this configuration profile.
// Only one configuration profile can have this set to true.
// If not specified, the first configuration profile will be used for booting.
Booted bool `mapstructure:"booted" required:"false"`
// Optional comments about this configuration profile.
Comments string `mapstructure:"comments" required:"false"`
// Device assignments for this configuration profile.
Devices *InstanceConfigDevices `mapstructure:"devices" required:"true"`
// Helper options for this configuration profile.
Helpers *InstanceConfigHelpers `mapstructure:"helpers" required:"false"`
// Legacy config interfaces for this configuration profile.
// Conflicts with the top-level interface and linode_interface blocks.
Interfaces []Interface `mapstructure:"interface" required:"false"`
// Limits the amount of RAM the Linode can use. 0 (default) means no limit.
MemoryLimit int `mapstructure:"memory_limit" required:"false"`
// The kernel to boot with. Use "linode/latest-64bit" or "linode/grub2".
// See https://api.linode.com/v4/linode/kernels for available kernels.
Kernel string `mapstructure:"kernel" required:"false"`
// The init RAM disk to use. This is optional and typically not needed.
InitRD int `mapstructure:"init_rd" required:"false"`
// The root device to boot from, e.g., "/dev/sda". When using custom disks,
// the disk at this device slot in the booted configuration profile will be imaged.
RootDevice string `mapstructure:"root_device" required:"false"`
// The run level to boot into. Valid values are "default", "single", "binbash".
RunLevel string `mapstructure:"run_level" required:"false"`
// The virtualization mode. Valid values are "paravirt" or "fullvirt".
VirtMode string `mapstructure:"virt_mode" required:"false"`
}
InstanceConfig represents a configuration profile for the Linode instance. See https://techdocs.akamai.com/linode-api/reference/post-add-linode-config
func (*InstanceConfig) FlatMapstructure ¶ added in v1.10.0
func (*InstanceConfig) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }
FlatMapstructure returns a new FlatInstanceConfig. FlatInstanceConfig is an auto-generated flat version of InstanceConfig. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type InstanceConfigDevice ¶ added in v1.10.0
type InstanceConfigDevice struct {
// The label of the disk to assign to this device slot.
// This will be resolved to the disk ID after disks are created.
DiskLabel string `mapstructure:"disk_label" required:"false"`
// The ID of the volume to assign to this device slot.
VolumeID int `mapstructure:"volume_id" required:"false"`
}
InstanceConfigDevice represents a device slot in a configuration profile.
func (*InstanceConfigDevice) FlatMapstructure ¶ added in v1.10.0
func (*InstanceConfigDevice) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }
FlatMapstructure returns a new FlatInstanceConfigDevice. FlatInstanceConfigDevice is an auto-generated flat version of InstanceConfigDevice. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type InstanceConfigDevices ¶ added in v1.10.0
type InstanceConfigDevices struct {
// Device assignments for slots sda through sdz.
SDA *InstanceConfigDevice `mapstructure:"sda" required:"false"`
SDB *InstanceConfigDevice `mapstructure:"sdb" required:"false"`
SDC *InstanceConfigDevice `mapstructure:"sdc" required:"false"`
SDD *InstanceConfigDevice `mapstructure:"sdd" required:"false"`
SDE *InstanceConfigDevice `mapstructure:"sde" required:"false"`
SDF *InstanceConfigDevice `mapstructure:"sdf" required:"false"`
SDG *InstanceConfigDevice `mapstructure:"sdg" required:"false"`
SDH *InstanceConfigDevice `mapstructure:"sdh" required:"false"`
SDI *InstanceConfigDevice `mapstructure:"sdi" required:"false"`
SDJ *InstanceConfigDevice `mapstructure:"sdj" required:"false"`
SDK *InstanceConfigDevice `mapstructure:"sdk" required:"false"`
SDL *InstanceConfigDevice `mapstructure:"sdl" required:"false"`
SDM *InstanceConfigDevice `mapstructure:"sdm" required:"false"`
SDN *InstanceConfigDevice `mapstructure:"sdn" required:"false"`
SDO *InstanceConfigDevice `mapstructure:"sdo" required:"false"`
SDP *InstanceConfigDevice `mapstructure:"sdp" required:"false"`
SDQ *InstanceConfigDevice `mapstructure:"sdq" required:"false"`
SDR *InstanceConfigDevice `mapstructure:"sdr" required:"false"`
SDS *InstanceConfigDevice `mapstructure:"sds" required:"false"`
SDT *InstanceConfigDevice `mapstructure:"sdt" required:"false"`
SDU *InstanceConfigDevice `mapstructure:"sdu" required:"false"`
SDV *InstanceConfigDevice `mapstructure:"sdv" required:"false"`
SDW *InstanceConfigDevice `mapstructure:"sdw" required:"false"`
SDX *InstanceConfigDevice `mapstructure:"sdx" required:"false"`
SDY *InstanceConfigDevice `mapstructure:"sdy" required:"false"`
SDZ *InstanceConfigDevice `mapstructure:"sdz" required:"false"`
// Device assignments for slots sdaa through sdaz.
SDAA *InstanceConfigDevice `mapstructure:"sdaa" required:"false"`
SDAB *InstanceConfigDevice `mapstructure:"sdab" required:"false"`
SDAC *InstanceConfigDevice `mapstructure:"sdac" required:"false"`
SDAD *InstanceConfigDevice `mapstructure:"sdad" required:"false"`
SDAE *InstanceConfigDevice `mapstructure:"sdae" required:"false"`
SDAF *InstanceConfigDevice `mapstructure:"sdaf" required:"false"`
SDAG *InstanceConfigDevice `mapstructure:"sdag" required:"false"`
SDAH *InstanceConfigDevice `mapstructure:"sdah" required:"false"`
SDAI *InstanceConfigDevice `mapstructure:"sdai" required:"false"`
SDAJ *InstanceConfigDevice `mapstructure:"sdaj" required:"false"`
SDAK *InstanceConfigDevice `mapstructure:"sdak" required:"false"`
SDAL *InstanceConfigDevice `mapstructure:"sdal" required:"false"`
SDAM *InstanceConfigDevice `mapstructure:"sdam" required:"false"`
SDAN *InstanceConfigDevice `mapstructure:"sdan" required:"false"`
SDAO *InstanceConfigDevice `mapstructure:"sdao" required:"false"`
SDAP *InstanceConfigDevice `mapstructure:"sdap" required:"false"`
SDAQ *InstanceConfigDevice `mapstructure:"sdaq" required:"false"`
SDAR *InstanceConfigDevice `mapstructure:"sdar" required:"false"`
SDAS *InstanceConfigDevice `mapstructure:"sdas" required:"false"`
SDAT *InstanceConfigDevice `mapstructure:"sdat" required:"false"`
SDAU *InstanceConfigDevice `mapstructure:"sdau" required:"false"`
SDAV *InstanceConfigDevice `mapstructure:"sdav" required:"false"`
SDAW *InstanceConfigDevice `mapstructure:"sdaw" required:"false"`
SDAX *InstanceConfigDevice `mapstructure:"sdax" required:"false"`
SDAY *InstanceConfigDevice `mapstructure:"sday" required:"false"`
SDAZ *InstanceConfigDevice `mapstructure:"sdaz" required:"false"`
// Device assignments for slots sdba through sdbl.
SDBA *InstanceConfigDevice `mapstructure:"sdba" required:"false"`
SDBB *InstanceConfigDevice `mapstructure:"sdbb" required:"false"`
SDBC *InstanceConfigDevice `mapstructure:"sdbc" required:"false"`
SDBD *InstanceConfigDevice `mapstructure:"sdbd" required:"false"`
SDBE *InstanceConfigDevice `mapstructure:"sdbe" required:"false"`
SDBF *InstanceConfigDevice `mapstructure:"sdbf" required:"false"`
SDBG *InstanceConfigDevice `mapstructure:"sdbg" required:"false"`
SDBH *InstanceConfigDevice `mapstructure:"sdbh" required:"false"`
SDBI *InstanceConfigDevice `mapstructure:"sdbi" required:"false"`
SDBJ *InstanceConfigDevice `mapstructure:"sdbj" required:"false"`
SDBK *InstanceConfigDevice `mapstructure:"sdbk" required:"false"`
SDBL *InstanceConfigDevice `mapstructure:"sdbl" required:"false"`
}
InstanceConfigDevices represents the device mappings for a configuration profile. Each device slot can contain either a disk or a volume.
func (*InstanceConfigDevices) FlatMapstructure ¶ added in v1.10.0
func (*InstanceConfigDevices) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }
FlatMapstructure returns a new FlatInstanceConfigDevices. FlatInstanceConfigDevices is an auto-generated flat version of InstanceConfigDevices. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type InstanceConfigHelpers ¶ added in v1.10.0
type InstanceConfigHelpers struct {
// Disables updatedb cron job to avoid disk thrashing.
UpdateDBDisabled *bool `mapstructure:"updatedb_disabled" required:"false"`
// Enables the Distro filesystem helper.
Distro *bool `mapstructure:"distro" required:"false"`
// Creates a modules dependency file for the Kernel.
ModulesDep *bool `mapstructure:"modules_dep" required:"false"`
// Configures network services.
Network *bool `mapstructure:"network" required:"false"`
// Automatically mounts devtmpfs.
DevTmpFsAutomount *bool `mapstructure:"devtmpfs_automount" required:"false"`
}
InstanceConfigHelpers are helper options that control Linux distribution specific tweaks.
func (*InstanceConfigHelpers) FlatMapstructure ¶ added in v1.10.0
func (*InstanceConfigHelpers) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }
FlatMapstructure returns a new FlatInstanceConfigHelpers. FlatInstanceConfigHelpers is an auto-generated flat version of InstanceConfigHelpers. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type Interface ¶ added in v1.1.0
type Interface struct {
VLANInterfaceAttributes `mapstructure:",squash"`
VPCInterfaceAttributes `mapstructure:",squash"`
// The purpose of this interface. (public, vlan, vpc)
Purpose string `mapstructure:"purpose" required:"true"`
// Whether this interface is a primary interface.
Primary bool `mapstructure:"primary"`
}
func (*Interface) FlatMapstructure ¶ added in v1.1.0
FlatMapstructure returns a new FlatInterface. FlatInterface is an auto-generated flat version of Interface. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type InterfaceDefaultRoute ¶ added in v1.8.0
type InterfaceDefaultRoute struct {
// Whether this interface is used for the IPv4 default route.
IPv4 *bool `mapstructure:"ipv4" required:"false"`
// Whether this interface is used for the IPv6 default route.
IPv6 *bool `mapstructure:"ipv6" required:"false"`
}
func (*InterfaceDefaultRoute) FlatMapstructure ¶ added in v1.8.0
func (*InterfaceDefaultRoute) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }
FlatMapstructure returns a new FlatInterfaceDefaultRoute. FlatInterfaceDefaultRoute is an auto-generated flat version of InterfaceDefaultRoute. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type InterfaceIPv4 ¶ added in v1.2.0
type InterfaceIPv4 struct {
// The IPv4 address from the VPC subnet to use for this interface.
VPC string `mapstructure:"vpc"`
// The public IPv4 address assigned to this Linode to be 1:1 NATed with the VPC IPv4 address.
NAT1To1 *string `mapstructure:"nat_1_1"`
}
func (*InterfaceIPv4) FlatMapstructure ¶ added in v1.2.0
func (*InterfaceIPv4) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }
FlatMapstructure returns a new FlatInterfaceIPv4. FlatInterfaceIPv4 is an auto-generated flat version of InterfaceIPv4. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type LinodeInterface ¶ added in v1.8.0
type LinodeInterface struct {
// The enabled firewall to secure a VPC or public interface. Not allowed for VLAN interfaces.
FirewallID *int `mapstructure:"firewall_id" required:"false"`
// Indicates if the interface serves as the default route when multiple interfaces are
// eligible for this role.
DefaultRoute *InterfaceDefaultRoute `mapstructure:"default_route" required:"false"`
// Public interface settings. A Linode can have only one public interface.
// A public interface can have both IPv4 and IPv6 configurations.
Public *PublicInterface `mapstructure:"public" required:"false"`
// VPC interface settings.
VPC *VPCInterface `mapstructure:"vpc" required:"false"`
// VLAN interface settings.
VLAN *VLANInterface `mapstructure:"vlan" required:"false"`
}
func (*LinodeInterface) FlatMapstructure ¶ added in v1.8.0
func (*LinodeInterface) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }
FlatMapstructure returns a new FlatLinodeInterface. FlatLinodeInterface is an auto-generated flat version of LinodeInterface. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type Metadata ¶ added in v1.5.0
type Metadata struct {
// Base64-encoded (cloud-config)[https://www.linode.com/docs/products/compute/compute-instances/guides/metadata-cloud-config/] data.
UserData string `mapstructure:"user_data"`
}
func (*Metadata) FlatMapstructure ¶ added in v1.5.0
FlatMapstructure returns a new FlatMetadata. FlatMetadata is an auto-generated flat version of Metadata. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type PublicInterface ¶ added in v1.8.0
type PublicInterface struct {
// IPv4 address settings for this public interface. If omitted,
// a public IPv4 address is automatically allocated.
IPv4 *PublicInterfaceIPv4 `mapstructure:"ipv4" required:"false"`
// IPv6 address settings for the public interface.
IPv6 *PublicInterfaceIPv6 `mapstructure:"ipv6" required:"false"`
}
func (*PublicInterface) FlatMapstructure ¶ added in v1.8.0
func (*PublicInterface) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }
FlatMapstructure returns a new FlatPublicInterface. FlatPublicInterface is an auto-generated flat version of PublicInterface. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type PublicInterfaceIPv4 ¶ added in v1.8.0
type PublicInterfaceIPv4 struct {
// Blocks of IPv4 addresses to assign to this interface. Setting any to auto
// allocates a public IPv4 address.
Addresses []PublicInterfaceIPv4Address `mapstructure:"address" required:"false"`
}
func (*PublicInterfaceIPv4) FlatMapstructure ¶ added in v1.8.0
func (*PublicInterfaceIPv4) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }
FlatMapstructure returns a new FlatPublicInterfaceIPv4. FlatPublicInterfaceIPv4 is an auto-generated flat version of PublicInterfaceIPv4. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type PublicInterfaceIPv4Address ¶ added in v1.8.0
type PublicInterfaceIPv4Address struct {
// The interface's public IPv4 address. You can specify which public IPv4
// address to configure for the interface. Setting this to auto automatically
// allocates a public address.
Address *string `mapstructure:"address" required:"true"`
// The IPv4 primary address configures the source address for routes within
// the Linode on the corresponding network interface.
//
// - Don't set this to false if there's only one address in the addresses array.
// - If more than one address is provided, primary can be set to true for one address.
// - If only one address is present in the addresses array, this address is automatically set as the primary address.
Primary *bool `mapstructure:"primary" required:"false"`
}
func (*PublicInterfaceIPv4Address) FlatMapstructure ¶ added in v1.8.0
func (*PublicInterfaceIPv4Address) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }
FlatMapstructure returns a new FlatPublicInterfaceIPv4Address. FlatPublicInterfaceIPv4Address is an auto-generated flat version of PublicInterfaceIPv4Address. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type PublicInterfaceIPv6 ¶ added in v1.8.0
type PublicInterfaceIPv6 struct {
// IPv6 address ranges to assign to this interface. If omitted, no ranges are assigned.
Ranges []PublicInterfaceIPv6Range `mapstructure:"ranges" required:"false"`
}
func (*PublicInterfaceIPv6) FlatMapstructure ¶ added in v1.8.0
func (*PublicInterfaceIPv6) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }
FlatMapstructure returns a new FlatPublicInterfaceIPv6. FlatPublicInterfaceIPv6 is an auto-generated flat version of PublicInterfaceIPv6. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type PublicInterfaceIPv6Range ¶ added in v1.8.0
type PublicInterfaceIPv6Range struct {
// Your assigned IPv6 range in CIDR notation (2001:0db8::1/64) or prefix (/64).
//
// - The prefix of /64 or /56 block of IPv6 addresses.
// - If provided in CIDR notation, the prefix must be within the assigned ranges for the Linode.
Range string `mapstructure:"range" required:"true"`
}
func (*PublicInterfaceIPv6Range) FlatMapstructure ¶ added in v1.8.0
func (*PublicInterfaceIPv6Range) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }
FlatMapstructure returns a new FlatPublicInterfaceIPv6Range. FlatPublicInterfaceIPv6Range is an auto-generated flat version of PublicInterfaceIPv6Range. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type StepCreateSSHKey ¶
StepCreateSSHKey represents a Packer build step that generates SSH key pairs.
func (*StepCreateSSHKey) Cleanup ¶
func (s *StepCreateSSHKey) Cleanup(state multistep.StateBag)
Nothing to clean up. SSH keys are associated with a single Linode instance.
func (*StepCreateSSHKey) Run ¶
func (s *StepCreateSSHKey) Run(_ context.Context, state multistep.StateBag) multistep.StepAction
Run executes the Packer build step that generates SSH key pairs. The key pairs are added to the ssh config
type VLANInterface ¶ added in v1.8.0
type VLANInterface struct {
// The VLAN's unique label. VLAN interfaces on the same Linode must have a unique `vlan_label`.
VLANLabel string `mapstructure:"vlan_label" required:"true"`
// This VLAN interface's private IPv4 address in classless inter-domain routing (CIDR) notation.
IPAMAddress *string `mapstructure:"ipam_address" required:"false"`
}
func (*VLANInterface) FlatMapstructure ¶ added in v1.8.0
func (*VLANInterface) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }
FlatMapstructure returns a new FlatVLANInterface. FlatVLANInterface is an auto-generated flat version of VLANInterface. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type VLANInterfaceAttributes ¶ added in v1.5.1
type VPCInterface ¶ added in v1.8.0
type VPCInterface struct {
// The VPC subnet identifier for this interface. Your subnet’s VPC must be in
// the same data center (region) as the Linode.
SubnetID int `mapstructure:"subnet_id" required:"true"`
// Interfaces can be configured with IPv4 addresses or ranges.
IPv4 *VPCInterfaceIPv4 `mapstructure:"ipv4" required:"false"`
// IPv6 configuration for this VPC interface.
IPv6 *VPCInterfaceIPv6 `mapstructure:"ipv6" required:"false"`
}
func (*VPCInterface) FlatMapstructure ¶ added in v1.8.0
func (*VPCInterface) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }
FlatMapstructure returns a new FlatVPCInterface. FlatVPCInterface is an auto-generated flat version of VPCInterface. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type VPCInterfaceAttributes ¶ added in v1.5.1
type VPCInterfaceAttributes struct {
// The ID of the VPC Subnet this interface references.
SubnetID *int `mapstructure:"subnet_id"`
// The IPv4 configuration of this VPC interface.
IPv4 *InterfaceIPv4 `mapstructure:"ipv4"`
// The IPv4 ranges of this VPC interface.
IPRanges []string `mapstructure:"ip_ranges"`
}
type VPCInterfaceIPv4 ¶ added in v1.8.0
type VPCInterfaceIPv4 struct {
// IPv4 address settings for this VPC interface.
Addresses []VPCInterfaceIPv4Address `mapstructure:"addresses" required:"false"`
// VPC IPv4 ranges.
Ranges []VPCInterfaceIPv4Range `mapstructure:"ranges" required:"false"`
}
func (*VPCInterfaceIPv4) FlatMapstructure ¶ added in v1.8.0
func (*VPCInterfaceIPv4) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }
FlatMapstructure returns a new FlatVPCInterfaceIPv4. FlatVPCInterfaceIPv4 is an auto-generated flat version of VPCInterfaceIPv4. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type VPCInterfaceIPv4Address ¶ added in v1.8.0
type VPCInterfaceIPv4Address struct {
// Specifies which IPv4 address to use in the VPC subnet. You can specify which
// VPC Ipv4 address in the subnet to configure for the interface. You can't use
// an IPv4 address taken from another Linode or interface, or the first two or
// last two addresses in the VPC subnet. When address is set to `auto`, an IP
// address from the subnet is automatically assigned.
Address *string `mapstructure:"address" required:"true"`
// The IPv4 primary address is used to configure the source address for routes
// within the Linode on the corresponding network interface.
Primary *bool `mapstructure:"primary" required:"false"`
// The 1:1 NAT IPv4 address used to associate a public IPv4 address with the
// interface's VPC subnet IPv4 address.
NAT1To1Address *string `mapstructure:"nat_1_1_address" required:"false"`
}
func (*VPCInterfaceIPv4Address) FlatMapstructure ¶ added in v1.8.0
func (*VPCInterfaceIPv4Address) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }
FlatMapstructure returns a new FlatVPCInterfaceIPv4Address. FlatVPCInterfaceIPv4Address is an auto-generated flat version of VPCInterfaceIPv4Address. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type VPCInterfaceIPv4Range ¶ added in v1.8.0
type VPCInterfaceIPv4Range struct {
// VPC IPv4 ranges.
Range string `mapstructure:"range" required:"true"`
}
func (*VPCInterfaceIPv4Range) FlatMapstructure ¶ added in v1.8.0
func (*VPCInterfaceIPv4Range) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }
FlatMapstructure returns a new FlatVPCInterfaceIPv4Range. FlatVPCInterfaceIPv4Range is an auto-generated flat version of VPCInterfaceIPv4Range. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type VPCInterfaceIPv6 ¶ added in v1.11.0
type VPCInterfaceIPv6 struct {
// IPv6 SLAAC settings for this VPC interface.
SLAAC []VPCInterfaceIPv6SLAAC `mapstructure:"slaac" required:"false"`
// IPv6 ranges for this VPC interface.
Ranges []VPCInterfaceIPv6Range `mapstructure:"ranges" required:"false"`
// Whether the IPv6 addresses are publicly routable.
IsPublic *bool `mapstructure:"is_public" required:"false"`
}
func (*VPCInterfaceIPv6) FlatMapstructure ¶ added in v1.11.0
func (*VPCInterfaceIPv6) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }
FlatMapstructure returns a new FlatVPCInterfaceIPv6. FlatVPCInterfaceIPv6 is an auto-generated flat version of VPCInterfaceIPv6. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type VPCInterfaceIPv6Range ¶ added in v1.11.0
type VPCInterfaceIPv6Range struct {
// The IPv6 range for this VPC interface.
Range string `mapstructure:"range" required:"true"`
}
func (*VPCInterfaceIPv6Range) FlatMapstructure ¶ added in v1.11.0
func (*VPCInterfaceIPv6Range) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }
FlatMapstructure returns a new FlatVPCInterfaceIPv6Range. FlatVPCInterfaceIPv6Range is an auto-generated flat version of VPCInterfaceIPv6Range. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type VPCInterfaceIPv6SLAAC ¶ added in v1.11.0
type VPCInterfaceIPv6SLAAC struct {
// The IPv6 SLAAC range for this VPC interface.
Range string `mapstructure:"range" required:"true"`
}
func (*VPCInterfaceIPv6SLAAC) FlatMapstructure ¶ added in v1.11.0
func (*VPCInterfaceIPv6SLAAC) FlatMapstructure() interface{ HCL2Spec() map[string]hcldec.Spec }
FlatMapstructure returns a new FlatVPCInterfaceIPv6SLAAC. FlatVPCInterfaceIPv6SLAAC is an auto-generated flat version of VPCInterfaceIPv6SLAAC. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.