aws_instance

package
v0.0.0-...-4deecce Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 16, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Args

type Args struct {
	// Ami: string, optional
	Ami terra.StringValue `hcl:"ami,attr"`
	// AssociatePublicIpAddress: bool, optional
	AssociatePublicIpAddress terra.BoolValue `hcl:"associate_public_ip_address,attr"`
	// AvailabilityZone: string, optional
	AvailabilityZone terra.StringValue `hcl:"availability_zone,attr"`
	// CpuCoreCount: number, optional
	CpuCoreCount terra.NumberValue `hcl:"cpu_core_count,attr"`
	// CpuThreadsPerCore: number, optional
	CpuThreadsPerCore terra.NumberValue `hcl:"cpu_threads_per_core,attr"`
	// DisableApiStop: bool, optional
	DisableApiStop terra.BoolValue `hcl:"disable_api_stop,attr"`
	// DisableApiTermination: bool, optional
	DisableApiTermination terra.BoolValue `hcl:"disable_api_termination,attr"`
	// EbsOptimized: bool, optional
	EbsOptimized terra.BoolValue `hcl:"ebs_optimized,attr"`
	// GetPasswordData: bool, optional
	GetPasswordData terra.BoolValue `hcl:"get_password_data,attr"`
	// Hibernation: bool, optional
	Hibernation terra.BoolValue `hcl:"hibernation,attr"`
	// HostId: string, optional
	HostId terra.StringValue `hcl:"host_id,attr"`
	// HostResourceGroupArn: string, optional
	HostResourceGroupArn terra.StringValue `hcl:"host_resource_group_arn,attr"`
	// IamInstanceProfile: string, optional
	IamInstanceProfile terra.StringValue `hcl:"iam_instance_profile,attr"`
	// Id: string, optional
	Id terra.StringValue `hcl:"id,attr"`
	// InstanceInitiatedShutdownBehavior: string, optional
	InstanceInitiatedShutdownBehavior terra.StringValue `hcl:"instance_initiated_shutdown_behavior,attr"`
	// InstanceType: string, optional
	InstanceType terra.StringValue `hcl:"instance_type,attr"`
	// Ipv6AddressCount: number, optional
	Ipv6AddressCount terra.NumberValue `hcl:"ipv6_address_count,attr"`
	// Ipv6Addresses: list of string, optional
	Ipv6Addresses terra.ListValue[terra.StringValue] `hcl:"ipv6_addresses,attr"`
	// KeyName: string, optional
	KeyName terra.StringValue `hcl:"key_name,attr"`
	// Monitoring: bool, optional
	Monitoring terra.BoolValue `hcl:"monitoring,attr"`
	// PlacementGroup: string, optional
	PlacementGroup terra.StringValue `hcl:"placement_group,attr"`
	// PlacementPartitionNumber: number, optional
	PlacementPartitionNumber terra.NumberValue `hcl:"placement_partition_number,attr"`
	// PrivateIp: string, optional
	PrivateIp terra.StringValue `hcl:"private_ip,attr"`
	// SecondaryPrivateIps: set of string, optional
	SecondaryPrivateIps terra.SetValue[terra.StringValue] `hcl:"secondary_private_ips,attr"`
	// SecurityGroups: set of string, optional
	SecurityGroups terra.SetValue[terra.StringValue] `hcl:"security_groups,attr"`
	// SourceDestCheck: bool, optional
	SourceDestCheck terra.BoolValue `hcl:"source_dest_check,attr"`
	// SubnetId: string, optional
	SubnetId terra.StringValue `hcl:"subnet_id,attr"`
	// Tags: map of string, optional
	Tags terra.MapValue[terra.StringValue] `hcl:"tags,attr"`
	// TagsAll: map of string, optional
	TagsAll terra.MapValue[terra.StringValue] `hcl:"tags_all,attr"`
	// Tenancy: string, optional
	Tenancy terra.StringValue `hcl:"tenancy,attr"`
	// UserData: string, optional
	UserData terra.StringValue `hcl:"user_data,attr"`
	// UserDataBase64: string, optional
	UserDataBase64 terra.StringValue `hcl:"user_data_base64,attr"`
	// UserDataReplaceOnChange: bool, optional
	UserDataReplaceOnChange terra.BoolValue `hcl:"user_data_replace_on_change,attr"`
	// VolumeTags: map of string, optional
	VolumeTags terra.MapValue[terra.StringValue] `hcl:"volume_tags,attr"`
	// VpcSecurityGroupIds: set of string, optional
	VpcSecurityGroupIds terra.SetValue[terra.StringValue] `hcl:"vpc_security_group_ids,attr"`
	// CapacityReservationSpecification: optional
	CapacityReservationSpecification *CapacityReservationSpecification `hcl:"capacity_reservation_specification,block"`
	// CpuOptions: optional
	CpuOptions *CpuOptions `hcl:"cpu_options,block"`
	// CreditSpecification: optional
	CreditSpecification *CreditSpecification `hcl:"credit_specification,block"`
	// EbsBlockDevice: min=0
	EbsBlockDevice []EbsBlockDevice `hcl:"ebs_block_device,block" validate:"min=0"`
	// EnclaveOptions: optional
	EnclaveOptions *EnclaveOptions `hcl:"enclave_options,block"`
	// EphemeralBlockDevice: min=0
	EphemeralBlockDevice []EphemeralBlockDevice `hcl:"ephemeral_block_device,block" validate:"min=0"`
	// InstanceMarketOptions: optional
	InstanceMarketOptions *InstanceMarketOptions `hcl:"instance_market_options,block"`
	// LaunchTemplate: optional
	LaunchTemplate *LaunchTemplate `hcl:"launch_template,block"`
	// MaintenanceOptions: optional
	MaintenanceOptions *MaintenanceOptions `hcl:"maintenance_options,block"`
	// MetadataOptions: optional
	MetadataOptions *MetadataOptions `hcl:"metadata_options,block"`
	// NetworkInterface: min=0
	NetworkInterface []NetworkInterface `hcl:"network_interface,block" validate:"min=0"`
	// PrivateDnsNameOptions: optional
	PrivateDnsNameOptions *PrivateDnsNameOptions `hcl:"private_dns_name_options,block"`
	// RootBlockDevice: optional
	RootBlockDevice *RootBlockDevice `hcl:"root_block_device,block"`
	// Timeouts: optional
	Timeouts *Timeouts `hcl:"timeouts,block"`
}

Args contains the configurations for aws_instance.

type CapacityReservationSpecification

type CapacityReservationSpecification struct {
	// CapacityReservationPreference: string, optional
	CapacityReservationPreference terra.StringValue `hcl:"capacity_reservation_preference,attr"`
	// CapacityReservationSpecificationCapacityReservationTarget: optional
	CapacityReservationTarget *CapacityReservationSpecificationCapacityReservationTarget `hcl:"capacity_reservation_target,block"`
}

type CapacityReservationSpecificationAttributes

type CapacityReservationSpecificationAttributes struct {
	// contains filtered or unexported fields
}

func (CapacityReservationSpecificationAttributes) CapacityReservationPreference

func (crs CapacityReservationSpecificationAttributes) CapacityReservationPreference() terra.StringValue

func (CapacityReservationSpecificationAttributes) InternalRef

func (CapacityReservationSpecificationAttributes) InternalTokens

func (CapacityReservationSpecificationAttributes) InternalWithRef

type CapacityReservationSpecificationCapacityReservationTarget

type CapacityReservationSpecificationCapacityReservationTarget struct {
	// CapacityReservationId: string, optional
	CapacityReservationId terra.StringValue `hcl:"capacity_reservation_id,attr"`
	// CapacityReservationResourceGroupArn: string, optional
	CapacityReservationResourceGroupArn terra.StringValue `hcl:"capacity_reservation_resource_group_arn,attr"`
}

type CapacityReservationSpecificationCapacityReservationTargetAttributes

type CapacityReservationSpecificationCapacityReservationTargetAttributes struct {
	// contains filtered or unexported fields
}

func (CapacityReservationSpecificationCapacityReservationTargetAttributes) CapacityReservationId

func (CapacityReservationSpecificationCapacityReservationTargetAttributes) CapacityReservationResourceGroupArn

func (CapacityReservationSpecificationCapacityReservationTargetAttributes) InternalRef

func (CapacityReservationSpecificationCapacityReservationTargetAttributes) InternalTokens

func (CapacityReservationSpecificationCapacityReservationTargetAttributes) InternalWithRef

type CapacityReservationSpecificationCapacityReservationTargetState

type CapacityReservationSpecificationCapacityReservationTargetState struct {
	CapacityReservationId               string `json:"capacity_reservation_id"`
	CapacityReservationResourceGroupArn string `json:"capacity_reservation_resource_group_arn"`
}

type CapacityReservationSpecificationState

type CapacityReservationSpecificationState struct {
	CapacityReservationPreference string                                                           `json:"capacity_reservation_preference"`
	CapacityReservationTarget     []CapacityReservationSpecificationCapacityReservationTargetState `json:"capacity_reservation_target"`
}

type CpuOptions

type CpuOptions struct {
	// AmdSevSnp: string, optional
	AmdSevSnp terra.StringValue `hcl:"amd_sev_snp,attr"`
	// CoreCount: number, optional
	CoreCount terra.NumberValue `hcl:"core_count,attr"`
	// ThreadsPerCore: number, optional
	ThreadsPerCore terra.NumberValue `hcl:"threads_per_core,attr"`
}

type CpuOptionsAttributes

type CpuOptionsAttributes struct {
	// contains filtered or unexported fields
}

func (CpuOptionsAttributes) AmdSevSnp

func (co CpuOptionsAttributes) AmdSevSnp() terra.StringValue

func (CpuOptionsAttributes) CoreCount

func (co CpuOptionsAttributes) CoreCount() terra.NumberValue

func (CpuOptionsAttributes) InternalRef

func (co CpuOptionsAttributes) InternalRef() (terra.Reference, error)

func (CpuOptionsAttributes) InternalTokens

func (co CpuOptionsAttributes) InternalTokens() (hclwrite.Tokens, error)

func (CpuOptionsAttributes) InternalWithRef

func (co CpuOptionsAttributes) InternalWithRef(ref terra.Reference) CpuOptionsAttributes

func (CpuOptionsAttributes) ThreadsPerCore

func (co CpuOptionsAttributes) ThreadsPerCore() terra.NumberValue

type CpuOptionsState

type CpuOptionsState struct {
	AmdSevSnp      string  `json:"amd_sev_snp"`
	CoreCount      float64 `json:"core_count"`
	ThreadsPerCore float64 `json:"threads_per_core"`
}

type CreditSpecification

type CreditSpecification struct {
	// CpuCredits: string, optional
	CpuCredits terra.StringValue `hcl:"cpu_credits,attr"`
}

type CreditSpecificationAttributes

type CreditSpecificationAttributes struct {
	// contains filtered or unexported fields
}

func (CreditSpecificationAttributes) CpuCredits

func (CreditSpecificationAttributes) InternalRef

func (cs CreditSpecificationAttributes) InternalRef() (terra.Reference, error)

func (CreditSpecificationAttributes) InternalTokens

func (cs CreditSpecificationAttributes) InternalTokens() (hclwrite.Tokens, error)

func (CreditSpecificationAttributes) InternalWithRef

type CreditSpecificationState

type CreditSpecificationState struct {
	CpuCredits string `json:"cpu_credits"`
}

type DataArgs

type DataArgs struct {
	// GetPasswordData: bool, optional
	GetPasswordData terra.BoolValue `hcl:"get_password_data,attr"`
	// GetUserData: bool, optional
	GetUserData terra.BoolValue `hcl:"get_user_data,attr"`
	// Id: string, optional
	Id terra.StringValue `hcl:"id,attr"`
	// InstanceId: string, optional
	InstanceId terra.StringValue `hcl:"instance_id,attr"`
	// InstanceTags: map of string, optional
	InstanceTags terra.MapValue[terra.StringValue] `hcl:"instance_tags,attr"`
	// Tags: map of string, optional
	Tags terra.MapValue[terra.StringValue] `hcl:"tags,attr"`
	// Filter: min=0
	Filter []DataFilter `hcl:"filter,block" validate:"min=0"`
	// Timeouts: optional
	Timeouts *DataTimeouts `hcl:"timeouts,block"`
}

DataArgs contains the configurations for aws_instance.

type DataCreditSpecificationAttributes

type DataCreditSpecificationAttributes struct {
	// contains filtered or unexported fields
}

func (DataCreditSpecificationAttributes) CpuCredits

func (DataCreditSpecificationAttributes) InternalRef

func (DataCreditSpecificationAttributes) InternalTokens

func (cs DataCreditSpecificationAttributes) InternalTokens() (hclwrite.Tokens, error)

func (DataCreditSpecificationAttributes) InternalWithRef

type DataCreditSpecificationState

type DataCreditSpecificationState struct {
	CpuCredits string `json:"cpu_credits"`
}

type DataEbsBlockDeviceAttributes

type DataEbsBlockDeviceAttributes struct {
	// contains filtered or unexported fields
}

func (DataEbsBlockDeviceAttributes) DeleteOnTermination

func (ebd DataEbsBlockDeviceAttributes) DeleteOnTermination() terra.BoolValue

func (DataEbsBlockDeviceAttributes) DeviceName

func (DataEbsBlockDeviceAttributes) Encrypted

func (DataEbsBlockDeviceAttributes) InternalRef

func (ebd DataEbsBlockDeviceAttributes) InternalRef() (terra.Reference, error)

func (DataEbsBlockDeviceAttributes) InternalTokens

func (ebd DataEbsBlockDeviceAttributes) InternalTokens() (hclwrite.Tokens, error)

func (DataEbsBlockDeviceAttributes) InternalWithRef

func (DataEbsBlockDeviceAttributes) Iops

func (DataEbsBlockDeviceAttributes) KmsKeyId

func (DataEbsBlockDeviceAttributes) SnapshotId

func (DataEbsBlockDeviceAttributes) Tags

func (DataEbsBlockDeviceAttributes) Throughput

func (DataEbsBlockDeviceAttributes) VolumeId

func (DataEbsBlockDeviceAttributes) VolumeSize

func (DataEbsBlockDeviceAttributes) VolumeType

type DataEbsBlockDeviceState

type DataEbsBlockDeviceState struct {
	DeleteOnTermination bool              `json:"delete_on_termination"`
	DeviceName          string            `json:"device_name"`
	Encrypted           bool              `json:"encrypted"`
	Iops                float64           `json:"iops"`
	KmsKeyId            string            `json:"kms_key_id"`
	SnapshotId          string            `json:"snapshot_id"`
	Tags                map[string]string `json:"tags"`
	Throughput          float64           `json:"throughput"`
	VolumeId            string            `json:"volume_id"`
	VolumeSize          float64           `json:"volume_size"`
	VolumeType          string            `json:"volume_type"`
}

type DataEnclaveOptionsAttributes

type DataEnclaveOptionsAttributes struct {
	// contains filtered or unexported fields
}

func (DataEnclaveOptionsAttributes) Enabled

func (DataEnclaveOptionsAttributes) InternalRef

func (eo DataEnclaveOptionsAttributes) InternalRef() (terra.Reference, error)

func (DataEnclaveOptionsAttributes) InternalTokens

func (eo DataEnclaveOptionsAttributes) InternalTokens() (hclwrite.Tokens, error)

func (DataEnclaveOptionsAttributes) InternalWithRef

type DataEnclaveOptionsState

type DataEnclaveOptionsState struct {
	Enabled bool `json:"enabled"`
}

type DataEphemeralBlockDeviceAttributes

type DataEphemeralBlockDeviceAttributes struct {
	// contains filtered or unexported fields
}

func (DataEphemeralBlockDeviceAttributes) DeviceName

func (DataEphemeralBlockDeviceAttributes) InternalRef

func (DataEphemeralBlockDeviceAttributes) InternalTokens

func (ebd DataEphemeralBlockDeviceAttributes) InternalTokens() (hclwrite.Tokens, error)

func (DataEphemeralBlockDeviceAttributes) InternalWithRef

func (DataEphemeralBlockDeviceAttributes) NoDevice

func (DataEphemeralBlockDeviceAttributes) VirtualName

type DataEphemeralBlockDeviceState

type DataEphemeralBlockDeviceState struct {
	DeviceName  string `json:"device_name"`
	NoDevice    bool   `json:"no_device"`
	VirtualName string `json:"virtual_name"`
}

type DataFilter

type DataFilter struct {
	// Name: string, required
	Name terra.StringValue `hcl:"name,attr" validate:"required"`
	// Values: set of string, required
	Values terra.SetValue[terra.StringValue] `hcl:"values,attr" validate:"required"`
}

type DataFilterAttributes

type DataFilterAttributes struct {
	// contains filtered or unexported fields
}

func (DataFilterAttributes) InternalRef

func (f DataFilterAttributes) InternalRef() (terra.Reference, error)

func (DataFilterAttributes) InternalTokens

func (f DataFilterAttributes) InternalTokens() (hclwrite.Tokens, error)

func (DataFilterAttributes) InternalWithRef

func (DataFilterAttributes) Name

func (DataFilterAttributes) Values

type DataFilterState

type DataFilterState struct {
	Name   string   `json:"name"`
	Values []string `json:"values"`
}

type DataMaintenanceOptionsAttributes

type DataMaintenanceOptionsAttributes struct {
	// contains filtered or unexported fields
}

func (DataMaintenanceOptionsAttributes) AutoRecovery

func (DataMaintenanceOptionsAttributes) InternalRef

func (DataMaintenanceOptionsAttributes) InternalTokens

func (mo DataMaintenanceOptionsAttributes) InternalTokens() (hclwrite.Tokens, error)

func (DataMaintenanceOptionsAttributes) InternalWithRef

type DataMaintenanceOptionsState

type DataMaintenanceOptionsState struct {
	AutoRecovery string `json:"auto_recovery"`
}

type DataMetadataOptionsAttributes

type DataMetadataOptionsAttributes struct {
	// contains filtered or unexported fields
}

func (DataMetadataOptionsAttributes) HttpEndpoint

func (DataMetadataOptionsAttributes) HttpProtocolIpv6

func (mo DataMetadataOptionsAttributes) HttpProtocolIpv6() terra.StringValue

func (DataMetadataOptionsAttributes) HttpPutResponseHopLimit

func (mo DataMetadataOptionsAttributes) HttpPutResponseHopLimit() terra.NumberValue

func (DataMetadataOptionsAttributes) HttpTokens

func (DataMetadataOptionsAttributes) InstanceMetadataTags

func (mo DataMetadataOptionsAttributes) InstanceMetadataTags() terra.StringValue

func (DataMetadataOptionsAttributes) InternalRef

func (mo DataMetadataOptionsAttributes) InternalRef() (terra.Reference, error)

func (DataMetadataOptionsAttributes) InternalTokens

func (mo DataMetadataOptionsAttributes) InternalTokens() (hclwrite.Tokens, error)

func (DataMetadataOptionsAttributes) InternalWithRef

type DataMetadataOptionsState

type DataMetadataOptionsState struct {
	HttpEndpoint            string  `json:"http_endpoint"`
	HttpProtocolIpv6        string  `json:"http_protocol_ipv6"`
	HttpPutResponseHopLimit float64 `json:"http_put_response_hop_limit"`
	HttpTokens              string  `json:"http_tokens"`
	InstanceMetadataTags    string  `json:"instance_metadata_tags"`
}

type DataPrivateDnsNameOptionsAttributes

type DataPrivateDnsNameOptionsAttributes struct {
	// contains filtered or unexported fields
}

func (DataPrivateDnsNameOptionsAttributes) EnableResourceNameDnsARecord

func (pdno DataPrivateDnsNameOptionsAttributes) EnableResourceNameDnsARecord() terra.BoolValue

func (DataPrivateDnsNameOptionsAttributes) EnableResourceNameDnsAaaaRecord

func (pdno DataPrivateDnsNameOptionsAttributes) EnableResourceNameDnsAaaaRecord() terra.BoolValue

func (DataPrivateDnsNameOptionsAttributes) HostnameType

func (DataPrivateDnsNameOptionsAttributes) InternalRef

func (DataPrivateDnsNameOptionsAttributes) InternalTokens

func (pdno DataPrivateDnsNameOptionsAttributes) InternalTokens() (hclwrite.Tokens, error)

func (DataPrivateDnsNameOptionsAttributes) InternalWithRef

type DataPrivateDnsNameOptionsState

type DataPrivateDnsNameOptionsState struct {
	EnableResourceNameDnsARecord    bool   `json:"enable_resource_name_dns_a_record"`
	EnableResourceNameDnsAaaaRecord bool   `json:"enable_resource_name_dns_aaaa_record"`
	HostnameType                    string `json:"hostname_type"`
}

type DataRootBlockDeviceAttributes

type DataRootBlockDeviceAttributes struct {
	// contains filtered or unexported fields
}

func (DataRootBlockDeviceAttributes) DeleteOnTermination

func (rbd DataRootBlockDeviceAttributes) DeleteOnTermination() terra.BoolValue

func (DataRootBlockDeviceAttributes) DeviceName

func (DataRootBlockDeviceAttributes) Encrypted

func (DataRootBlockDeviceAttributes) InternalRef

func (rbd DataRootBlockDeviceAttributes) InternalRef() (terra.Reference, error)

func (DataRootBlockDeviceAttributes) InternalTokens

func (rbd DataRootBlockDeviceAttributes) InternalTokens() (hclwrite.Tokens, error)

func (DataRootBlockDeviceAttributes) InternalWithRef

func (DataRootBlockDeviceAttributes) Iops

func (DataRootBlockDeviceAttributes) KmsKeyId

func (DataRootBlockDeviceAttributes) Tags

func (DataRootBlockDeviceAttributes) Throughput

func (DataRootBlockDeviceAttributes) VolumeId

func (DataRootBlockDeviceAttributes) VolumeSize

func (DataRootBlockDeviceAttributes) VolumeType

type DataRootBlockDeviceState

type DataRootBlockDeviceState struct {
	DeleteOnTermination bool              `json:"delete_on_termination"`
	DeviceName          string            `json:"device_name"`
	Encrypted           bool              `json:"encrypted"`
	Iops                float64           `json:"iops"`
	KmsKeyId            string            `json:"kms_key_id"`
	Tags                map[string]string `json:"tags"`
	Throughput          float64           `json:"throughput"`
	VolumeId            string            `json:"volume_id"`
	VolumeSize          float64           `json:"volume_size"`
	VolumeType          string            `json:"volume_type"`
}

type DataSource

type DataSource struct {
	Name string
	Args DataArgs
}

DataSource represents the Terraform data resource aws_instance.

func Data

func Data(name string, args DataArgs) *DataSource

Data creates a new instance of DataSource.

func (*DataSource) Attributes

func (ai *DataSource) Attributes() dataAwsInstanceAttributes

Attributes returns the attributes for DataSource.

func (*DataSource) Configuration

func (ai *DataSource) Configuration() interface{}

Configuration returns the configuration (args) for DataSource.

func (*DataSource) DataSource

func (ai *DataSource) DataSource() string

DataSource returns the Terraform object type for DataSource.

func (*DataSource) LocalName

func (ai *DataSource) LocalName() string

LocalName returns the local name for DataSource.

type DataTimeouts

type DataTimeouts struct {
	// Read: string, optional
	Read terra.StringValue `hcl:"read,attr"`
}

type DataTimeoutsAttributes

type DataTimeoutsAttributes struct {
	// contains filtered or unexported fields
}

func (DataTimeoutsAttributes) InternalRef

func (t DataTimeoutsAttributes) InternalRef() (terra.Reference, error)

func (DataTimeoutsAttributes) InternalTokens

func (t DataTimeoutsAttributes) InternalTokens() (hclwrite.Tokens, error)

func (DataTimeoutsAttributes) InternalWithRef

func (DataTimeoutsAttributes) Read

type DataTimeoutsState

type DataTimeoutsState struct {
	Read string `json:"read"`
}

type EbsBlockDevice

type EbsBlockDevice struct {
	// DeleteOnTermination: bool, optional
	DeleteOnTermination terra.BoolValue `hcl:"delete_on_termination,attr"`
	// DeviceName: string, required
	DeviceName terra.StringValue `hcl:"device_name,attr" validate:"required"`
	// Encrypted: bool, optional
	Encrypted terra.BoolValue `hcl:"encrypted,attr"`
	// Iops: number, optional
	Iops terra.NumberValue `hcl:"iops,attr"`
	// KmsKeyId: string, optional
	KmsKeyId terra.StringValue `hcl:"kms_key_id,attr"`
	// SnapshotId: string, optional
	SnapshotId terra.StringValue `hcl:"snapshot_id,attr"`
	// Tags: map of string, optional
	Tags terra.MapValue[terra.StringValue] `hcl:"tags,attr"`
	// TagsAll: map of string, optional
	TagsAll terra.MapValue[terra.StringValue] `hcl:"tags_all,attr"`
	// Throughput: number, optional
	Throughput terra.NumberValue `hcl:"throughput,attr"`
	// VolumeSize: number, optional
	VolumeSize terra.NumberValue `hcl:"volume_size,attr"`
	// VolumeType: string, optional
	VolumeType terra.StringValue `hcl:"volume_type,attr"`
}

type EbsBlockDeviceAttributes

type EbsBlockDeviceAttributes struct {
	// contains filtered or unexported fields
}

func (EbsBlockDeviceAttributes) DeleteOnTermination

func (ebd EbsBlockDeviceAttributes) DeleteOnTermination() terra.BoolValue

func (EbsBlockDeviceAttributes) DeviceName

func (ebd EbsBlockDeviceAttributes) DeviceName() terra.StringValue

func (EbsBlockDeviceAttributes) Encrypted

func (ebd EbsBlockDeviceAttributes) Encrypted() terra.BoolValue

func (EbsBlockDeviceAttributes) InternalRef

func (ebd EbsBlockDeviceAttributes) InternalRef() (terra.Reference, error)

func (EbsBlockDeviceAttributes) InternalTokens

func (ebd EbsBlockDeviceAttributes) InternalTokens() (hclwrite.Tokens, error)

func (EbsBlockDeviceAttributes) InternalWithRef

func (EbsBlockDeviceAttributes) Iops

func (EbsBlockDeviceAttributes) KmsKeyId

func (EbsBlockDeviceAttributes) SnapshotId

func (ebd EbsBlockDeviceAttributes) SnapshotId() terra.StringValue

func (EbsBlockDeviceAttributes) Tags

func (EbsBlockDeviceAttributes) TagsAll

func (EbsBlockDeviceAttributes) Throughput

func (ebd EbsBlockDeviceAttributes) Throughput() terra.NumberValue

func (EbsBlockDeviceAttributes) VolumeId

func (EbsBlockDeviceAttributes) VolumeSize

func (ebd EbsBlockDeviceAttributes) VolumeSize() terra.NumberValue

func (EbsBlockDeviceAttributes) VolumeType

func (ebd EbsBlockDeviceAttributes) VolumeType() terra.StringValue

type EbsBlockDeviceState

type EbsBlockDeviceState struct {
	DeleteOnTermination bool              `json:"delete_on_termination"`
	DeviceName          string            `json:"device_name"`
	Encrypted           bool              `json:"encrypted"`
	Iops                float64           `json:"iops"`
	KmsKeyId            string            `json:"kms_key_id"`
	SnapshotId          string            `json:"snapshot_id"`
	Tags                map[string]string `json:"tags"`
	TagsAll             map[string]string `json:"tags_all"`
	Throughput          float64           `json:"throughput"`
	VolumeId            string            `json:"volume_id"`
	VolumeSize          float64           `json:"volume_size"`
	VolumeType          string            `json:"volume_type"`
}

type EnclaveOptions

type EnclaveOptions struct {
	// Enabled: bool, optional
	Enabled terra.BoolValue `hcl:"enabled,attr"`
}

type EnclaveOptionsAttributes

type EnclaveOptionsAttributes struct {
	// contains filtered or unexported fields
}

func (EnclaveOptionsAttributes) Enabled

func (EnclaveOptionsAttributes) InternalRef

func (eo EnclaveOptionsAttributes) InternalRef() (terra.Reference, error)

func (EnclaveOptionsAttributes) InternalTokens

func (eo EnclaveOptionsAttributes) InternalTokens() (hclwrite.Tokens, error)

func (EnclaveOptionsAttributes) InternalWithRef

type EnclaveOptionsState

type EnclaveOptionsState struct {
	Enabled bool `json:"enabled"`
}

type EphemeralBlockDevice

type EphemeralBlockDevice struct {
	// DeviceName: string, required
	DeviceName terra.StringValue `hcl:"device_name,attr" validate:"required"`
	// NoDevice: bool, optional
	NoDevice terra.BoolValue `hcl:"no_device,attr"`
	// VirtualName: string, optional
	VirtualName terra.StringValue `hcl:"virtual_name,attr"`
}

type EphemeralBlockDeviceAttributes

type EphemeralBlockDeviceAttributes struct {
	// contains filtered or unexported fields
}

func (EphemeralBlockDeviceAttributes) DeviceName

func (EphemeralBlockDeviceAttributes) InternalRef

func (ebd EphemeralBlockDeviceAttributes) InternalRef() (terra.Reference, error)

func (EphemeralBlockDeviceAttributes) InternalTokens

func (ebd EphemeralBlockDeviceAttributes) InternalTokens() (hclwrite.Tokens, error)

func (EphemeralBlockDeviceAttributes) InternalWithRef

func (EphemeralBlockDeviceAttributes) NoDevice

func (EphemeralBlockDeviceAttributes) VirtualName

type EphemeralBlockDeviceState

type EphemeralBlockDeviceState struct {
	DeviceName  string `json:"device_name"`
	NoDevice    bool   `json:"no_device"`
	VirtualName string `json:"virtual_name"`
}

type InstanceMarketOptions

type InstanceMarketOptions struct {
	// MarketType: string, optional
	MarketType terra.StringValue `hcl:"market_type,attr"`
	// InstanceMarketOptionsSpotOptions: optional
	SpotOptions *InstanceMarketOptionsSpotOptions `hcl:"spot_options,block"`
}

type InstanceMarketOptionsAttributes

type InstanceMarketOptionsAttributes struct {
	// contains filtered or unexported fields
}

func (InstanceMarketOptionsAttributes) InternalRef

func (InstanceMarketOptionsAttributes) InternalTokens

func (imo InstanceMarketOptionsAttributes) InternalTokens() (hclwrite.Tokens, error)

func (InstanceMarketOptionsAttributes) InternalWithRef

func (InstanceMarketOptionsAttributes) MarketType

func (InstanceMarketOptionsAttributes) SpotOptions

type InstanceMarketOptionsSpotOptions

type InstanceMarketOptionsSpotOptions struct {
	// InstanceInterruptionBehavior: string, optional
	InstanceInterruptionBehavior terra.StringValue `hcl:"instance_interruption_behavior,attr"`
	// MaxPrice: string, optional
	MaxPrice terra.StringValue `hcl:"max_price,attr"`
	// SpotInstanceType: string, optional
	SpotInstanceType terra.StringValue `hcl:"spot_instance_type,attr"`
	// ValidUntil: string, optional
	ValidUntil terra.StringValue `hcl:"valid_until,attr"`
}

type InstanceMarketOptionsSpotOptionsAttributes

type InstanceMarketOptionsSpotOptionsAttributes struct {
	// contains filtered or unexported fields
}

func (InstanceMarketOptionsSpotOptionsAttributes) InstanceInterruptionBehavior

func (so InstanceMarketOptionsSpotOptionsAttributes) InstanceInterruptionBehavior() terra.StringValue

func (InstanceMarketOptionsSpotOptionsAttributes) InternalRef

func (InstanceMarketOptionsSpotOptionsAttributes) InternalTokens

func (InstanceMarketOptionsSpotOptionsAttributes) InternalWithRef

func (InstanceMarketOptionsSpotOptionsAttributes) MaxPrice

func (InstanceMarketOptionsSpotOptionsAttributes) SpotInstanceType

func (InstanceMarketOptionsSpotOptionsAttributes) ValidUntil

type InstanceMarketOptionsSpotOptionsState

type InstanceMarketOptionsSpotOptionsState struct {
	InstanceInterruptionBehavior string `json:"instance_interruption_behavior"`
	MaxPrice                     string `json:"max_price"`
	SpotInstanceType             string `json:"spot_instance_type"`
	ValidUntil                   string `json:"valid_until"`
}

type InstanceMarketOptionsState

type InstanceMarketOptionsState struct {
	MarketType  string                                  `json:"market_type"`
	SpotOptions []InstanceMarketOptionsSpotOptionsState `json:"spot_options"`
}

type LaunchTemplate

type LaunchTemplate struct {
	// Id: string, optional
	Id terra.StringValue `hcl:"id,attr"`
	// Name: string, optional
	Name terra.StringValue `hcl:"name,attr"`
	// Version: string, optional
	Version terra.StringValue `hcl:"version,attr"`
}

type LaunchTemplateAttributes

type LaunchTemplateAttributes struct {
	// contains filtered or unexported fields
}

func (LaunchTemplateAttributes) Id

func (LaunchTemplateAttributes) InternalRef

func (lt LaunchTemplateAttributes) InternalRef() (terra.Reference, error)

func (LaunchTemplateAttributes) InternalTokens

func (lt LaunchTemplateAttributes) InternalTokens() (hclwrite.Tokens, error)

func (LaunchTemplateAttributes) InternalWithRef

func (LaunchTemplateAttributes) Name

func (LaunchTemplateAttributes) Version

type LaunchTemplateState

type LaunchTemplateState struct {
	Id      string `json:"id"`
	Name    string `json:"name"`
	Version string `json:"version"`
}

type MaintenanceOptions

type MaintenanceOptions struct {
	// AutoRecovery: string, optional
	AutoRecovery terra.StringValue `hcl:"auto_recovery,attr"`
}

type MaintenanceOptionsAttributes

type MaintenanceOptionsAttributes struct {
	// contains filtered or unexported fields
}

func (MaintenanceOptionsAttributes) AutoRecovery

func (MaintenanceOptionsAttributes) InternalRef

func (mo MaintenanceOptionsAttributes) InternalRef() (terra.Reference, error)

func (MaintenanceOptionsAttributes) InternalTokens

func (mo MaintenanceOptionsAttributes) InternalTokens() (hclwrite.Tokens, error)

func (MaintenanceOptionsAttributes) InternalWithRef

type MaintenanceOptionsState

type MaintenanceOptionsState struct {
	AutoRecovery string `json:"auto_recovery"`
}

type MetadataOptions

type MetadataOptions struct {
	// HttpEndpoint: string, optional
	HttpEndpoint terra.StringValue `hcl:"http_endpoint,attr"`
	// HttpProtocolIpv6: string, optional
	HttpProtocolIpv6 terra.StringValue `hcl:"http_protocol_ipv6,attr"`
	// HttpPutResponseHopLimit: number, optional
	HttpPutResponseHopLimit terra.NumberValue `hcl:"http_put_response_hop_limit,attr"`
	// HttpTokens: string, optional
	HttpTokens terra.StringValue `hcl:"http_tokens,attr"`
	// InstanceMetadataTags: string, optional
	InstanceMetadataTags terra.StringValue `hcl:"instance_metadata_tags,attr"`
}

type MetadataOptionsAttributes

type MetadataOptionsAttributes struct {
	// contains filtered or unexported fields
}

func (MetadataOptionsAttributes) HttpEndpoint

func (mo MetadataOptionsAttributes) HttpEndpoint() terra.StringValue

func (MetadataOptionsAttributes) HttpProtocolIpv6

func (mo MetadataOptionsAttributes) HttpProtocolIpv6() terra.StringValue

func (MetadataOptionsAttributes) HttpPutResponseHopLimit

func (mo MetadataOptionsAttributes) HttpPutResponseHopLimit() terra.NumberValue

func (MetadataOptionsAttributes) HttpTokens

func (MetadataOptionsAttributes) InstanceMetadataTags

func (mo MetadataOptionsAttributes) InstanceMetadataTags() terra.StringValue

func (MetadataOptionsAttributes) InternalRef

func (mo MetadataOptionsAttributes) InternalRef() (terra.Reference, error)

func (MetadataOptionsAttributes) InternalTokens

func (mo MetadataOptionsAttributes) InternalTokens() (hclwrite.Tokens, error)

func (MetadataOptionsAttributes) InternalWithRef

type MetadataOptionsState

type MetadataOptionsState struct {
	HttpEndpoint            string  `json:"http_endpoint"`
	HttpProtocolIpv6        string  `json:"http_protocol_ipv6"`
	HttpPutResponseHopLimit float64 `json:"http_put_response_hop_limit"`
	HttpTokens              string  `json:"http_tokens"`
	InstanceMetadataTags    string  `json:"instance_metadata_tags"`
}

type NetworkInterface

type NetworkInterface struct {
	// DeleteOnTermination: bool, optional
	DeleteOnTermination terra.BoolValue `hcl:"delete_on_termination,attr"`
	// DeviceIndex: number, required
	DeviceIndex terra.NumberValue `hcl:"device_index,attr" validate:"required"`
	// NetworkCardIndex: number, optional
	NetworkCardIndex terra.NumberValue `hcl:"network_card_index,attr"`
	// NetworkInterfaceId: string, required
	NetworkInterfaceId terra.StringValue `hcl:"network_interface_id,attr" validate:"required"`
}

type NetworkInterfaceAttributes

type NetworkInterfaceAttributes struct {
	// contains filtered or unexported fields
}

func (NetworkInterfaceAttributes) DeleteOnTermination

func (ni NetworkInterfaceAttributes) DeleteOnTermination() terra.BoolValue

func (NetworkInterfaceAttributes) DeviceIndex

func (ni NetworkInterfaceAttributes) DeviceIndex() terra.NumberValue

func (NetworkInterfaceAttributes) InternalRef

func (ni NetworkInterfaceAttributes) InternalRef() (terra.Reference, error)

func (NetworkInterfaceAttributes) InternalTokens

func (ni NetworkInterfaceAttributes) InternalTokens() (hclwrite.Tokens, error)

func (NetworkInterfaceAttributes) InternalWithRef

func (NetworkInterfaceAttributes) NetworkCardIndex

func (ni NetworkInterfaceAttributes) NetworkCardIndex() terra.NumberValue

func (NetworkInterfaceAttributes) NetworkInterfaceId

func (ni NetworkInterfaceAttributes) NetworkInterfaceId() terra.StringValue

type NetworkInterfaceState

type NetworkInterfaceState struct {
	DeleteOnTermination bool    `json:"delete_on_termination"`
	DeviceIndex         float64 `json:"device_index"`
	NetworkCardIndex    float64 `json:"network_card_index"`
	NetworkInterfaceId  string  `json:"network_interface_id"`
}

type PrivateDnsNameOptions

type PrivateDnsNameOptions struct {
	// EnableResourceNameDnsARecord: bool, optional
	EnableResourceNameDnsARecord terra.BoolValue `hcl:"enable_resource_name_dns_a_record,attr"`
	// EnableResourceNameDnsAaaaRecord: bool, optional
	EnableResourceNameDnsAaaaRecord terra.BoolValue `hcl:"enable_resource_name_dns_aaaa_record,attr"`
	// HostnameType: string, optional
	HostnameType terra.StringValue `hcl:"hostname_type,attr"`
}

type PrivateDnsNameOptionsAttributes

type PrivateDnsNameOptionsAttributes struct {
	// contains filtered or unexported fields
}

func (PrivateDnsNameOptionsAttributes) EnableResourceNameDnsARecord

func (pdno PrivateDnsNameOptionsAttributes) EnableResourceNameDnsARecord() terra.BoolValue

func (PrivateDnsNameOptionsAttributes) EnableResourceNameDnsAaaaRecord

func (pdno PrivateDnsNameOptionsAttributes) EnableResourceNameDnsAaaaRecord() terra.BoolValue

func (PrivateDnsNameOptionsAttributes) HostnameType

func (PrivateDnsNameOptionsAttributes) InternalRef

func (pdno PrivateDnsNameOptionsAttributes) InternalRef() (terra.Reference, error)

func (PrivateDnsNameOptionsAttributes) InternalTokens

func (pdno PrivateDnsNameOptionsAttributes) InternalTokens() (hclwrite.Tokens, error)

func (PrivateDnsNameOptionsAttributes) InternalWithRef

type PrivateDnsNameOptionsState

type PrivateDnsNameOptionsState struct {
	EnableResourceNameDnsARecord    bool   `json:"enable_resource_name_dns_a_record"`
	EnableResourceNameDnsAaaaRecord bool   `json:"enable_resource_name_dns_aaaa_record"`
	HostnameType                    string `json:"hostname_type"`
}

type Resource

type Resource struct {
	Name string
	Args Args

	DependsOn terra.Dependencies
	Lifecycle *terra.Lifecycle
	// contains filtered or unexported fields
}

Resource represents the Terraform resource aws_instance.

func New

func New(name string, args Args) *Resource

New creates a new instance of Resource.

func (*Resource) Attributes

func (ai *Resource) Attributes() awsInstanceAttributes

Attributes returns the attributes for Resource.

func (*Resource) Configuration

func (ai *Resource) Configuration() interface{}

Configuration returns the configuration (args) for Resource.

func (*Resource) DependOn

func (ai *Resource) DependOn() terra.Reference

DependOn is used for other resources to depend on Resource.

func (*Resource) Dependencies

func (ai *Resource) Dependencies() terra.Dependencies

Dependencies returns the list of resources Resource depends_on.

func (*Resource) ImportState

func (ai *Resource) ImportState(state io.Reader) error

ImportState imports the given attribute values into Resource's state.

func (*Resource) LifecycleManagement

func (ai *Resource) LifecycleManagement() *terra.Lifecycle

LifecycleManagement returns the lifecycle block for Resource.

func (*Resource) LocalName

func (ai *Resource) LocalName() string

LocalName returns the local name for Resource.

func (*Resource) State

func (ai *Resource) State() (*awsInstanceState, bool)

State returns the state and a bool indicating if Resource has state.

func (*Resource) StateMust

func (ai *Resource) StateMust() *awsInstanceState

StateMust returns the state for Resource. Panics if the state is nil.

func (*Resource) Type

func (ai *Resource) Type() string

Type returns the Terraform object type for Resource.

type RootBlockDevice

type RootBlockDevice struct {
	// DeleteOnTermination: bool, optional
	DeleteOnTermination terra.BoolValue `hcl:"delete_on_termination,attr"`
	// Encrypted: bool, optional
	Encrypted terra.BoolValue `hcl:"encrypted,attr"`
	// Iops: number, optional
	Iops terra.NumberValue `hcl:"iops,attr"`
	// KmsKeyId: string, optional
	KmsKeyId terra.StringValue `hcl:"kms_key_id,attr"`
	// Tags: map of string, optional
	Tags terra.MapValue[terra.StringValue] `hcl:"tags,attr"`
	// TagsAll: map of string, optional
	TagsAll terra.MapValue[terra.StringValue] `hcl:"tags_all,attr"`
	// Throughput: number, optional
	Throughput terra.NumberValue `hcl:"throughput,attr"`
	// VolumeSize: number, optional
	VolumeSize terra.NumberValue `hcl:"volume_size,attr"`
	// VolumeType: string, optional
	VolumeType terra.StringValue `hcl:"volume_type,attr"`
}

type RootBlockDeviceAttributes

type RootBlockDeviceAttributes struct {
	// contains filtered or unexported fields
}

func (RootBlockDeviceAttributes) DeleteOnTermination

func (rbd RootBlockDeviceAttributes) DeleteOnTermination() terra.BoolValue

func (RootBlockDeviceAttributes) DeviceName

func (rbd RootBlockDeviceAttributes) DeviceName() terra.StringValue

func (RootBlockDeviceAttributes) Encrypted

func (rbd RootBlockDeviceAttributes) Encrypted() terra.BoolValue

func (RootBlockDeviceAttributes) InternalRef

func (rbd RootBlockDeviceAttributes) InternalRef() (terra.Reference, error)

func (RootBlockDeviceAttributes) InternalTokens

func (rbd RootBlockDeviceAttributes) InternalTokens() (hclwrite.Tokens, error)

func (RootBlockDeviceAttributes) InternalWithRef

func (RootBlockDeviceAttributes) Iops

func (RootBlockDeviceAttributes) KmsKeyId

func (RootBlockDeviceAttributes) Tags

func (RootBlockDeviceAttributes) TagsAll

func (RootBlockDeviceAttributes) Throughput

func (rbd RootBlockDeviceAttributes) Throughput() terra.NumberValue

func (RootBlockDeviceAttributes) VolumeId

func (RootBlockDeviceAttributes) VolumeSize

func (rbd RootBlockDeviceAttributes) VolumeSize() terra.NumberValue

func (RootBlockDeviceAttributes) VolumeType

func (rbd RootBlockDeviceAttributes) VolumeType() terra.StringValue

type RootBlockDeviceState

type RootBlockDeviceState struct {
	DeleteOnTermination bool              `json:"delete_on_termination"`
	DeviceName          string            `json:"device_name"`
	Encrypted           bool              `json:"encrypted"`
	Iops                float64           `json:"iops"`
	KmsKeyId            string            `json:"kms_key_id"`
	Tags                map[string]string `json:"tags"`
	TagsAll             map[string]string `json:"tags_all"`
	Throughput          float64           `json:"throughput"`
	VolumeId            string            `json:"volume_id"`
	VolumeSize          float64           `json:"volume_size"`
	VolumeType          string            `json:"volume_type"`
}

type Timeouts

type Timeouts struct {
	// Create: string, optional
	Create terra.StringValue `hcl:"create,attr"`
	// Delete: string, optional
	Delete terra.StringValue `hcl:"delete,attr"`
	// Read: string, optional
	Read terra.StringValue `hcl:"read,attr"`
	// Update: string, optional
	Update terra.StringValue `hcl:"update,attr"`
}

type TimeoutsAttributes

type TimeoutsAttributes struct {
	// contains filtered or unexported fields
}

func (TimeoutsAttributes) Create

func (TimeoutsAttributes) Delete

func (TimeoutsAttributes) InternalRef

func (t TimeoutsAttributes) InternalRef() (terra.Reference, error)

func (TimeoutsAttributes) InternalTokens

func (t TimeoutsAttributes) InternalTokens() (hclwrite.Tokens, error)

func (TimeoutsAttributes) InternalWithRef

func (t TimeoutsAttributes) InternalWithRef(ref terra.Reference) TimeoutsAttributes

func (TimeoutsAttributes) Read

func (TimeoutsAttributes) Update

type TimeoutsState

type TimeoutsState struct {
	Create string `json:"create"`
	Delete string `json:"delete"`
	Read   string `json:"read"`
	Update string `json:"update"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL