v1beta2

package
v1.18.2 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=ec2.aws.upbound.io +versionName=v1beta2

Index

Constants

View Source
const (
	CRDGroup   = "ec2.aws.upbound.io"
	CRDVersion = "v1beta2"
)

Package type metadata.

Variables

View Source
var (
	EBSSnapshotImport_Kind             = "EBSSnapshotImport"
	EBSSnapshotImport_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: EBSSnapshotImport_Kind}.String()
	EBSSnapshotImport_KindAPIVersion   = EBSSnapshotImport_Kind + "." + CRDGroupVersion.String()
	EBSSnapshotImport_GroupVersionKind = CRDGroupVersion.WithKind(EBSSnapshotImport_Kind)
)

Repository type metadata.

View Source
var (
	FlowLog_Kind             = "FlowLog"
	FlowLog_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: FlowLog_Kind}.String()
	FlowLog_KindAPIVersion   = FlowLog_Kind + "." + CRDGroupVersion.String()
	FlowLog_GroupVersionKind = CRDGroupVersion.WithKind(FlowLog_Kind)
)

Repository type metadata.

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	Instance_Kind             = "Instance"
	Instance_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Instance_Kind}.String()
	Instance_KindAPIVersion   = Instance_Kind + "." + CRDGroupVersion.String()
	Instance_GroupVersionKind = CRDGroupVersion.WithKind(Instance_Kind)
)

Repository type metadata.

View Source
var (
	LaunchTemplate_Kind             = "LaunchTemplate"
	LaunchTemplate_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: LaunchTemplate_Kind}.String()
	LaunchTemplate_KindAPIVersion   = LaunchTemplate_Kind + "." + CRDGroupVersion.String()
	LaunchTemplate_GroupVersionKind = CRDGroupVersion.WithKind(LaunchTemplate_Kind)
)

Repository type metadata.

View Source
var (
	Route_Kind             = "Route"
	Route_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Route_Kind}.String()
	Route_KindAPIVersion   = Route_Kind + "." + CRDGroupVersion.String()
	Route_GroupVersionKind = CRDGroupVersion.WithKind(Route_Kind)
)

Repository type metadata.

View Source
var (
	SpotFleetRequest_Kind             = "SpotFleetRequest"
	SpotFleetRequest_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: SpotFleetRequest_Kind}.String()
	SpotFleetRequest_KindAPIVersion   = SpotFleetRequest_Kind + "." + CRDGroupVersion.String()
	SpotFleetRequest_GroupVersionKind = CRDGroupVersion.WithKind(SpotFleetRequest_Kind)
)

Repository type metadata.

View Source
var (
	SpotInstanceRequest_Kind             = "SpotInstanceRequest"
	SpotInstanceRequest_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: SpotInstanceRequest_Kind}.String()
	SpotInstanceRequest_KindAPIVersion   = SpotInstanceRequest_Kind + "." + CRDGroupVersion.String()
	SpotInstanceRequest_GroupVersionKind = CRDGroupVersion.WithKind(SpotInstanceRequest_Kind)
)

Repository type metadata.

View Source
var (
	TrafficMirrorFilterRule_Kind             = "TrafficMirrorFilterRule"
	TrafficMirrorFilterRule_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: TrafficMirrorFilterRule_Kind}.String()
	TrafficMirrorFilterRule_KindAPIVersion   = TrafficMirrorFilterRule_Kind + "." + CRDGroupVersion.String()
	TrafficMirrorFilterRule_GroupVersionKind = CRDGroupVersion.WithKind(TrafficMirrorFilterRule_Kind)
)

Repository type metadata.

View Source
var (
	VPCEndpoint_Kind             = "VPCEndpoint"
	VPCEndpoint_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: VPCEndpoint_Kind}.String()
	VPCEndpoint_KindAPIVersion   = VPCEndpoint_Kind + "." + CRDGroupVersion.String()
	VPCEndpoint_GroupVersionKind = CRDGroupVersion.WithKind(VPCEndpoint_Kind)
)

Repository type metadata.

View Source
var (
	VPCIpamPoolCidr_Kind             = "VPCIpamPoolCidr"
	VPCIpamPoolCidr_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: VPCIpamPoolCidr_Kind}.String()
	VPCIpamPoolCidr_KindAPIVersion   = VPCIpamPoolCidr_Kind + "." + CRDGroupVersion.String()
	VPCIpamPoolCidr_GroupVersionKind = CRDGroupVersion.WithKind(VPCIpamPoolCidr_Kind)
)

Repository type metadata.

View Source
var (
	VPCPeeringConnection_Kind             = "VPCPeeringConnection"
	VPCPeeringConnection_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: VPCPeeringConnection_Kind}.String()
	VPCPeeringConnection_KindAPIVersion   = VPCPeeringConnection_Kind + "." + CRDGroupVersion.String()
	VPCPeeringConnection_GroupVersionKind = CRDGroupVersion.WithKind(VPCPeeringConnection_Kind)
)

Repository type metadata.

View Source
var (
	VPCPeeringConnectionAccepter_Kind             = "VPCPeeringConnectionAccepter"
	VPCPeeringConnectionAccepter_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: VPCPeeringConnectionAccepter_Kind}.String()
	VPCPeeringConnectionAccepter_KindAPIVersion   = VPCPeeringConnectionAccepter_Kind + "." + CRDGroupVersion.String()
	VPCPeeringConnectionAccepter_GroupVersionKind = CRDGroupVersion.WithKind(VPCPeeringConnectionAccepter_Kind)
)

Repository type metadata.

View Source
var (
	VPCPeeringConnectionOptions_Kind             = "VPCPeeringConnectionOptions"
	VPCPeeringConnectionOptions_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: VPCPeeringConnectionOptions_Kind}.String()
	VPCPeeringConnectionOptions_KindAPIVersion   = VPCPeeringConnectionOptions_Kind + "." + CRDGroupVersion.String()
	VPCPeeringConnectionOptions_GroupVersionKind = CRDGroupVersion.WithKind(VPCPeeringConnectionOptions_Kind)
)

Repository type metadata.

View Source
var (
	VPNConnection_Kind             = "VPNConnection"
	VPNConnection_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: VPNConnection_Kind}.String()
	VPNConnection_KindAPIVersion   = VPNConnection_Kind + "." + CRDGroupVersion.String()
	VPNConnection_GroupVersionKind = CRDGroupVersion.WithKind(VPNConnection_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type AcceleratorCountInitParameters added in v1.7.0

type AcceleratorCountInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*AcceleratorCountInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AcceleratorCountInitParameters.

func (*AcceleratorCountInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AcceleratorCountObservation added in v1.7.0

type AcceleratorCountObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*AcceleratorCountObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AcceleratorCountObservation.

func (*AcceleratorCountObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AcceleratorCountParameters added in v1.7.0

type AcceleratorCountParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*AcceleratorCountParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AcceleratorCountParameters.

func (*AcceleratorCountParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AcceleratorTotalMemoryMibInitParameters added in v1.7.0

type AcceleratorTotalMemoryMibInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*AcceleratorTotalMemoryMibInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AcceleratorTotalMemoryMibInitParameters.

func (*AcceleratorTotalMemoryMibInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AcceleratorTotalMemoryMibObservation added in v1.7.0

type AcceleratorTotalMemoryMibObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*AcceleratorTotalMemoryMibObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AcceleratorTotalMemoryMibObservation.

func (*AcceleratorTotalMemoryMibObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AcceleratorTotalMemoryMibParameters added in v1.7.0

type AcceleratorTotalMemoryMibParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*AcceleratorTotalMemoryMibParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AcceleratorTotalMemoryMibParameters.

func (*AcceleratorTotalMemoryMibParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AccepterInitParameters added in v1.7.0

type AccepterInitParameters struct {
}

func (*AccepterInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccepterInitParameters.

func (*AccepterInitParameters) DeepCopyInto added in v1.7.0

func (in *AccepterInitParameters) DeepCopyInto(out *AccepterInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AccepterObservation added in v1.7.0

type AccepterObservation struct {

	// Allow a local VPC to resolve public DNS hostnames to
	// private IP addresses when queried from instances in the peer VPC.
	AllowRemoteVPCDNSResolution *bool `json:"allowRemoteVpcDnsResolution,omitempty" tf:"allow_remote_vpc_dns_resolution,omitempty"`
}

func (*AccepterObservation) DeepCopy added in v1.7.0

func (in *AccepterObservation) DeepCopy() *AccepterObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccepterObservation.

func (*AccepterObservation) DeepCopyInto added in v1.7.0

func (in *AccepterObservation) DeepCopyInto(out *AccepterObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AccepterParameters added in v1.7.0

type AccepterParameters struct {
}

func (*AccepterParameters) DeepCopy added in v1.7.0

func (in *AccepterParameters) DeepCopy() *AccepterParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccepterParameters.

func (*AccepterParameters) DeepCopyInto added in v1.7.0

func (in *AccepterParameters) DeepCopyInto(out *AccepterParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BaselineEBSBandwidthMbpsInitParameters added in v1.7.0

type BaselineEBSBandwidthMbpsInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*BaselineEBSBandwidthMbpsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaselineEBSBandwidthMbpsInitParameters.

func (*BaselineEBSBandwidthMbpsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BaselineEBSBandwidthMbpsObservation added in v1.7.0

type BaselineEBSBandwidthMbpsObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*BaselineEBSBandwidthMbpsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaselineEBSBandwidthMbpsObservation.

func (*BaselineEBSBandwidthMbpsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BaselineEBSBandwidthMbpsParameters added in v1.7.0

type BaselineEBSBandwidthMbpsParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*BaselineEBSBandwidthMbpsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaselineEBSBandwidthMbpsParameters.

func (*BaselineEBSBandwidthMbpsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BlockDeviceMappingsInitParameters added in v1.7.0

type BlockDeviceMappingsInitParameters struct {

	// The name of the device to mount.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// Configure EBS volume properties.
	EBS *EBSInitParameters `json:"ebs,omitempty" tf:"ebs,omitempty"`

	// Suppresses the specified device included in the AMI's block device mapping.
	NoDevice *string `json:"noDevice,omitempty" tf:"no_device,omitempty"`

	// The Instance Store Device
	// Name
	// (e.g., "ephemeral0").
	VirtualName *string `json:"virtualName,omitempty" tf:"virtual_name,omitempty"`
}

func (*BlockDeviceMappingsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockDeviceMappingsInitParameters.

func (*BlockDeviceMappingsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BlockDeviceMappingsObservation added in v1.7.0

type BlockDeviceMappingsObservation struct {

	// The name of the device to mount.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// Configure EBS volume properties.
	EBS *EBSObservation `json:"ebs,omitempty" tf:"ebs,omitempty"`

	// Suppresses the specified device included in the AMI's block device mapping.
	NoDevice *string `json:"noDevice,omitempty" tf:"no_device,omitempty"`

	// The Instance Store Device
	// Name
	// (e.g., "ephemeral0").
	VirtualName *string `json:"virtualName,omitempty" tf:"virtual_name,omitempty"`
}

func (*BlockDeviceMappingsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockDeviceMappingsObservation.

func (*BlockDeviceMappingsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BlockDeviceMappingsParameters added in v1.7.0

type BlockDeviceMappingsParameters struct {

	// The name of the device to mount.
	// +kubebuilder:validation:Optional
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// Configure EBS volume properties.
	// +kubebuilder:validation:Optional
	EBS *EBSParameters `json:"ebs,omitempty" tf:"ebs,omitempty"`

	// Suppresses the specified device included in the AMI's block device mapping.
	// +kubebuilder:validation:Optional
	NoDevice *string `json:"noDevice,omitempty" tf:"no_device,omitempty"`

	// The Instance Store Device
	// Name
	// (e.g., "ephemeral0").
	// +kubebuilder:validation:Optional
	VirtualName *string `json:"virtualName,omitempty" tf:"virtual_name,omitempty"`
}

func (*BlockDeviceMappingsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockDeviceMappingsParameters.

func (*BlockDeviceMappingsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CPUOptionsInitParameters added in v1.7.0

type CPUOptionsInitParameters struct {

	// Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are enabled and disabled.
	AmdSevSnp *string `json:"amdSevSnp,omitempty" tf:"amd_sev_snp,omitempty"`

	// Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.
	CoreCount *float64 `json:"coreCount,omitempty" tf:"core_count,omitempty"`

	// If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.
	ThreadsPerCore *float64 `json:"threadsPerCore,omitempty" tf:"threads_per_core,omitempty"`
}

func (*CPUOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUOptionsInitParameters.

func (*CPUOptionsInitParameters) DeepCopyInto added in v1.7.0

func (in *CPUOptionsInitParameters) DeepCopyInto(out *CPUOptionsInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CPUOptionsObservation added in v1.7.0

type CPUOptionsObservation struct {

	// Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are enabled and disabled.
	AmdSevSnp *string `json:"amdSevSnp,omitempty" tf:"amd_sev_snp,omitempty"`

	// Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.
	CoreCount *float64 `json:"coreCount,omitempty" tf:"core_count,omitempty"`

	// If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.
	ThreadsPerCore *float64 `json:"threadsPerCore,omitempty" tf:"threads_per_core,omitempty"`
}

func (*CPUOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUOptionsObservation.

func (*CPUOptionsObservation) DeepCopyInto added in v1.7.0

func (in *CPUOptionsObservation) DeepCopyInto(out *CPUOptionsObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CPUOptionsParameters added in v1.7.0

type CPUOptionsParameters struct {

	// Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are enabled and disabled.
	// +kubebuilder:validation:Optional
	AmdSevSnp *string `json:"amdSevSnp,omitempty" tf:"amd_sev_snp,omitempty"`

	// Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.
	// +kubebuilder:validation:Optional
	CoreCount *float64 `json:"coreCount,omitempty" tf:"core_count,omitempty"`

	// If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.
	// +kubebuilder:validation:Optional
	ThreadsPerCore *float64 `json:"threadsPerCore,omitempty" tf:"threads_per_core,omitempty"`
}

func (*CPUOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUOptionsParameters.

func (*CPUOptionsParameters) DeepCopyInto added in v1.7.0

func (in *CPUOptionsParameters) DeepCopyInto(out *CPUOptionsParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CapacityRebalanceInitParameters added in v1.7.0

type CapacityRebalanceInitParameters struct {

	// The replacement strategy to use. Only available for spot fleets with fleet_type set to maintain. Valid values: launch.
	ReplacementStrategy *string `json:"replacementStrategy,omitempty" tf:"replacement_strategy,omitempty"`
}

func (*CapacityRebalanceInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityRebalanceInitParameters.

func (*CapacityRebalanceInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CapacityRebalanceObservation added in v1.7.0

type CapacityRebalanceObservation struct {

	// The replacement strategy to use. Only available for spot fleets with fleet_type set to maintain. Valid values: launch.
	ReplacementStrategy *string `json:"replacementStrategy,omitempty" tf:"replacement_strategy,omitempty"`
}

func (*CapacityRebalanceObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityRebalanceObservation.

func (*CapacityRebalanceObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CapacityRebalanceParameters added in v1.7.0

type CapacityRebalanceParameters struct {

	// The replacement strategy to use. Only available for spot fleets with fleet_type set to maintain. Valid values: launch.
	// +kubebuilder:validation:Optional
	ReplacementStrategy *string `json:"replacementStrategy,omitempty" tf:"replacement_strategy,omitempty"`
}

func (*CapacityRebalanceParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityRebalanceParameters.

func (*CapacityRebalanceParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CapacityReservationSpecificationCapacityReservationTargetInitParameters added in v1.7.0

type CapacityReservationSpecificationCapacityReservationTargetInitParameters struct {

	// The ID of the Capacity Reservation in which to run the instance.
	CapacityReservationID *string `json:"capacityReservationId,omitempty" tf:"capacity_reservation_id,omitempty"`

	// The ARN of the Capacity Reservation resource group in which to run the instance.
	CapacityReservationResourceGroupArn *string `json:"capacityReservationResourceGroupArn,omitempty" tf:"capacity_reservation_resource_group_arn,omitempty"`
}

func (*CapacityReservationSpecificationCapacityReservationTargetInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityReservationSpecificationCapacityReservationTargetInitParameters.

func (*CapacityReservationSpecificationCapacityReservationTargetInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CapacityReservationSpecificationCapacityReservationTargetObservation added in v1.7.0

type CapacityReservationSpecificationCapacityReservationTargetObservation struct {

	// The ID of the Capacity Reservation in which to run the instance.
	CapacityReservationID *string `json:"capacityReservationId,omitempty" tf:"capacity_reservation_id,omitempty"`

	// The ARN of the Capacity Reservation resource group in which to run the instance.
	CapacityReservationResourceGroupArn *string `json:"capacityReservationResourceGroupArn,omitempty" tf:"capacity_reservation_resource_group_arn,omitempty"`
}

func (*CapacityReservationSpecificationCapacityReservationTargetObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityReservationSpecificationCapacityReservationTargetObservation.

func (*CapacityReservationSpecificationCapacityReservationTargetObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CapacityReservationSpecificationCapacityReservationTargetParameters added in v1.7.0

type CapacityReservationSpecificationCapacityReservationTargetParameters struct {

	// The ID of the Capacity Reservation in which to run the instance.
	// +kubebuilder:validation:Optional
	CapacityReservationID *string `json:"capacityReservationId,omitempty" tf:"capacity_reservation_id,omitempty"`

	// The ARN of the Capacity Reservation resource group in which to run the instance.
	// +kubebuilder:validation:Optional
	CapacityReservationResourceGroupArn *string `json:"capacityReservationResourceGroupArn,omitempty" tf:"capacity_reservation_resource_group_arn,omitempty"`
}

func (*CapacityReservationSpecificationCapacityReservationTargetParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityReservationSpecificationCapacityReservationTargetParameters.

func (*CapacityReservationSpecificationCapacityReservationTargetParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CapacityReservationSpecificationInitParameters added in v1.7.0

type CapacityReservationSpecificationInitParameters struct {

	// Indicates the instance's Capacity Reservation preferences. Can be "open" or "none". (Default: "open").
	CapacityReservationPreference *string `json:"capacityReservationPreference,omitempty" tf:"capacity_reservation_preference,omitempty"`

	// Information about the target Capacity Reservation. See Capacity Reservation Target below for more details.
	CapacityReservationTarget *CapacityReservationTargetInitParameters `json:"capacityReservationTarget,omitempty" tf:"capacity_reservation_target,omitempty"`
}

func (*CapacityReservationSpecificationInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityReservationSpecificationInitParameters.

func (*CapacityReservationSpecificationInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CapacityReservationSpecificationObservation added in v1.7.0

type CapacityReservationSpecificationObservation struct {

	// Indicates the instance's Capacity Reservation preferences. Can be "open" or "none". (Default: "open").
	CapacityReservationPreference *string `json:"capacityReservationPreference,omitempty" tf:"capacity_reservation_preference,omitempty"`

	// Information about the target Capacity Reservation. See Capacity Reservation Target below for more details.
	CapacityReservationTarget *CapacityReservationTargetObservation `json:"capacityReservationTarget,omitempty" tf:"capacity_reservation_target,omitempty"`
}

func (*CapacityReservationSpecificationObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityReservationSpecificationObservation.

func (*CapacityReservationSpecificationObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CapacityReservationSpecificationParameters added in v1.7.0

type CapacityReservationSpecificationParameters struct {

	// Indicates the instance's Capacity Reservation preferences. Can be "open" or "none". (Default: "open").
	// +kubebuilder:validation:Optional
	CapacityReservationPreference *string `json:"capacityReservationPreference,omitempty" tf:"capacity_reservation_preference,omitempty"`

	// Information about the target Capacity Reservation. See Capacity Reservation Target below for more details.
	// +kubebuilder:validation:Optional
	CapacityReservationTarget *CapacityReservationTargetParameters `json:"capacityReservationTarget,omitempty" tf:"capacity_reservation_target,omitempty"`
}

func (*CapacityReservationSpecificationParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityReservationSpecificationParameters.

func (*CapacityReservationSpecificationParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CapacityReservationTargetInitParameters added in v1.7.0

type CapacityReservationTargetInitParameters struct {

	// ID of the Capacity Reservation in which to run the instance.
	CapacityReservationID *string `json:"capacityReservationId,omitempty" tf:"capacity_reservation_id,omitempty"`

	// ARN of the Capacity Reservation resource group in which to run the instance.
	CapacityReservationResourceGroupArn *string `json:"capacityReservationResourceGroupArn,omitempty" tf:"capacity_reservation_resource_group_arn,omitempty"`
}

func (*CapacityReservationTargetInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityReservationTargetInitParameters.

func (*CapacityReservationTargetInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CapacityReservationTargetObservation added in v1.7.0

type CapacityReservationTargetObservation struct {

	// ID of the Capacity Reservation in which to run the instance.
	CapacityReservationID *string `json:"capacityReservationId,omitempty" tf:"capacity_reservation_id,omitempty"`

	// ARN of the Capacity Reservation resource group in which to run the instance.
	CapacityReservationResourceGroupArn *string `json:"capacityReservationResourceGroupArn,omitempty" tf:"capacity_reservation_resource_group_arn,omitempty"`
}

func (*CapacityReservationTargetObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityReservationTargetObservation.

func (*CapacityReservationTargetObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CapacityReservationTargetParameters added in v1.7.0

type CapacityReservationTargetParameters struct {

	// ID of the Capacity Reservation in which to run the instance.
	// +kubebuilder:validation:Optional
	CapacityReservationID *string `json:"capacityReservationId,omitempty" tf:"capacity_reservation_id,omitempty"`

	// ARN of the Capacity Reservation resource group in which to run the instance.
	// +kubebuilder:validation:Optional
	CapacityReservationResourceGroupArn *string `json:"capacityReservationResourceGroupArn,omitempty" tf:"capacity_reservation_resource_group_arn,omitempty"`
}

func (*CapacityReservationTargetParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityReservationTargetParameters.

func (*CapacityReservationTargetParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CidrAuthorizationContextInitParameters added in v1.7.0

type CidrAuthorizationContextInitParameters struct {

	// The plain-text authorization message for the prefix and account.
	Message *string `json:"message,omitempty" tf:"message,omitempty"`

	// The signed authorization message for the prefix and account.
	Signature *string `json:"signature,omitempty" tf:"signature,omitempty"`
}

func (*CidrAuthorizationContextInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CidrAuthorizationContextInitParameters.

func (*CidrAuthorizationContextInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CidrAuthorizationContextObservation added in v1.7.0

type CidrAuthorizationContextObservation struct {

	// The plain-text authorization message for the prefix and account.
	Message *string `json:"message,omitempty" tf:"message,omitempty"`

	// The signed authorization message for the prefix and account.
	Signature *string `json:"signature,omitempty" tf:"signature,omitempty"`
}

func (*CidrAuthorizationContextObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CidrAuthorizationContextObservation.

func (*CidrAuthorizationContextObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CidrAuthorizationContextParameters added in v1.7.0

type CidrAuthorizationContextParameters struct {

	// The plain-text authorization message for the prefix and account.
	// +kubebuilder:validation:Optional
	Message *string `json:"message,omitempty" tf:"message,omitempty"`

	// The signed authorization message for the prefix and account.
	// +kubebuilder:validation:Optional
	Signature *string `json:"signature,omitempty" tf:"signature,omitempty"`
}

func (*CidrAuthorizationContextParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CidrAuthorizationContextParameters.

func (*CidrAuthorizationContextParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClientDataInitParameters added in v1.7.0

type ClientDataInitParameters struct {

	// A user-defined comment about the disk upload.
	Comment *string `json:"comment,omitempty" tf:"comment,omitempty"`

	// The time that the disk upload ends.
	UploadEnd *string `json:"uploadEnd,omitempty" tf:"upload_end,omitempty"`

	// The size of the uploaded disk image, in GiB.
	UploadSize *float64 `json:"uploadSize,omitempty" tf:"upload_size,omitempty"`

	// The time that the disk upload starts.
	UploadStart *string `json:"uploadStart,omitempty" tf:"upload_start,omitempty"`
}

func (*ClientDataInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientDataInitParameters.

func (*ClientDataInitParameters) DeepCopyInto added in v1.7.0

func (in *ClientDataInitParameters) DeepCopyInto(out *ClientDataInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClientDataObservation added in v1.7.0

type ClientDataObservation struct {

	// A user-defined comment about the disk upload.
	Comment *string `json:"comment,omitempty" tf:"comment,omitempty"`

	// The time that the disk upload ends.
	UploadEnd *string `json:"uploadEnd,omitempty" tf:"upload_end,omitempty"`

	// The size of the uploaded disk image, in GiB.
	UploadSize *float64 `json:"uploadSize,omitempty" tf:"upload_size,omitempty"`

	// The time that the disk upload starts.
	UploadStart *string `json:"uploadStart,omitempty" tf:"upload_start,omitempty"`
}

func (*ClientDataObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientDataObservation.

func (*ClientDataObservation) DeepCopyInto added in v1.7.0

func (in *ClientDataObservation) DeepCopyInto(out *ClientDataObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClientDataParameters added in v1.7.0

type ClientDataParameters struct {

	// A user-defined comment about the disk upload.
	// +kubebuilder:validation:Optional
	Comment *string `json:"comment,omitempty" tf:"comment,omitempty"`

	// The time that the disk upload ends.
	// +kubebuilder:validation:Optional
	UploadEnd *string `json:"uploadEnd,omitempty" tf:"upload_end,omitempty"`

	// The size of the uploaded disk image, in GiB.
	// +kubebuilder:validation:Optional
	UploadSize *float64 `json:"uploadSize,omitempty" tf:"upload_size,omitempty"`

	// The time that the disk upload starts.
	// +kubebuilder:validation:Optional
	UploadStart *string `json:"uploadStart,omitempty" tf:"upload_start,omitempty"`
}

func (*ClientDataParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientDataParameters.

func (*ClientDataParameters) DeepCopyInto added in v1.7.0

func (in *ClientDataParameters) DeepCopyInto(out *ClientDataParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CloudwatchLogOptionsInitParameters added in v1.7.0

type CloudwatchLogOptionsInitParameters struct {

	// Enable or disable VPN tunnel logging feature. The default is false.
	LogEnabled *bool `json:"logEnabled,omitempty" tf:"log_enabled,omitempty"`

	// The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.
	LogGroupArn *string `json:"logGroupArn,omitempty" tf:"log_group_arn,omitempty"`

	// Set log format. Default format is json. Possible values are: json and text. The default is json.
	LogOutputFormat *string `json:"logOutputFormat,omitempty" tf:"log_output_format,omitempty"`
}

func (*CloudwatchLogOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudwatchLogOptionsInitParameters.

func (*CloudwatchLogOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CloudwatchLogOptionsObservation added in v1.7.0

type CloudwatchLogOptionsObservation struct {

	// Enable or disable VPN tunnel logging feature. The default is false.
	LogEnabled *bool `json:"logEnabled,omitempty" tf:"log_enabled,omitempty"`

	// The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.
	LogGroupArn *string `json:"logGroupArn,omitempty" tf:"log_group_arn,omitempty"`

	// Set log format. Default format is json. Possible values are: json and text. The default is json.
	LogOutputFormat *string `json:"logOutputFormat,omitempty" tf:"log_output_format,omitempty"`
}

func (*CloudwatchLogOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudwatchLogOptionsObservation.

func (*CloudwatchLogOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CloudwatchLogOptionsParameters added in v1.7.0

type CloudwatchLogOptionsParameters struct {

	// Enable or disable VPN tunnel logging feature. The default is false.
	// +kubebuilder:validation:Optional
	LogEnabled *bool `json:"logEnabled,omitempty" tf:"log_enabled,omitempty"`

	// The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.
	// +kubebuilder:validation:Optional
	LogGroupArn *string `json:"logGroupArn,omitempty" tf:"log_group_arn,omitempty"`

	// Set log format. Default format is json. Possible values are: json and text. The default is json.
	// +kubebuilder:validation:Optional
	LogOutputFormat *string `json:"logOutputFormat,omitempty" tf:"log_output_format,omitempty"`
}

func (*CloudwatchLogOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudwatchLogOptionsParameters.

func (*CloudwatchLogOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CreditSpecificationInitParameters added in v1.7.0

type CreditSpecificationInitParameters struct {

	// Credit option for CPU usage. Valid values include standard or unlimited. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default.
	CPUCredits *string `json:"cpuCredits,omitempty" tf:"cpu_credits,omitempty"`
}

func (*CreditSpecificationInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CreditSpecificationInitParameters.

func (*CreditSpecificationInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CreditSpecificationObservation added in v1.7.0

type CreditSpecificationObservation struct {

	// Credit option for CPU usage. Valid values include standard or unlimited. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default.
	CPUCredits *string `json:"cpuCredits,omitempty" tf:"cpu_credits,omitempty"`
}

func (*CreditSpecificationObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CreditSpecificationObservation.

func (*CreditSpecificationObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CreditSpecificationParameters added in v1.7.0

type CreditSpecificationParameters struct {

	// Credit option for CPU usage. Valid values include standard or unlimited. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default.
	// +kubebuilder:validation:Optional
	CPUCredits *string `json:"cpuCredits,omitempty" tf:"cpu_credits,omitempty"`
}

func (*CreditSpecificationParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CreditSpecificationParameters.

func (*CreditSpecificationParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DNSEntryInitParameters added in v1.7.0

type DNSEntryInitParameters struct {
}

func (*DNSEntryInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSEntryInitParameters.

func (*DNSEntryInitParameters) DeepCopyInto added in v1.7.0

func (in *DNSEntryInitParameters) DeepCopyInto(out *DNSEntryInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DNSEntryObservation added in v1.7.0

type DNSEntryObservation struct {

	// The DNS name.
	DNSName *string `json:"dnsName,omitempty" tf:"dns_name,omitempty"`

	// The ID of the private hosted zone.
	HostedZoneID *string `json:"hostedZoneId,omitempty" tf:"hosted_zone_id,omitempty"`
}

func (*DNSEntryObservation) DeepCopy added in v1.7.0

func (in *DNSEntryObservation) DeepCopy() *DNSEntryObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSEntryObservation.

func (*DNSEntryObservation) DeepCopyInto added in v1.7.0

func (in *DNSEntryObservation) DeepCopyInto(out *DNSEntryObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DNSEntryParameters added in v1.7.0

type DNSEntryParameters struct {
}

func (*DNSEntryParameters) DeepCopy added in v1.7.0

func (in *DNSEntryParameters) DeepCopy() *DNSEntryParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSEntryParameters.

func (*DNSEntryParameters) DeepCopyInto added in v1.7.0

func (in *DNSEntryParameters) DeepCopyInto(out *DNSEntryParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DNSOptionsInitParameters added in v1.7.0

type DNSOptionsInitParameters struct {

	// The DNS records created for the endpoint. Valid values are ipv4, dualstack, service-defined, and ipv6.
	DNSRecordIPType *string `json:"dnsRecordIpType,omitempty" tf:"dns_record_ip_type,omitempty"`

	// Indicates whether to enable private DNS only for inbound endpoints. This option is available only for services that support both gateway and interface endpoints. It routes traffic that originates from the VPC to the gateway endpoint and traffic that originates from on-premises to the interface endpoint. Default is false. Can only be specified if private_dns_enabled is true.
	PrivateDNSOnlyForInboundResolverEndpoint *bool `json:"privateDnsOnlyForInboundResolverEndpoint,omitempty" tf:"private_dns_only_for_inbound_resolver_endpoint,omitempty"`
}

func (*DNSOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSOptionsInitParameters.

func (*DNSOptionsInitParameters) DeepCopyInto added in v1.7.0

func (in *DNSOptionsInitParameters) DeepCopyInto(out *DNSOptionsInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DNSOptionsObservation added in v1.7.0

type DNSOptionsObservation struct {

	// The DNS records created for the endpoint. Valid values are ipv4, dualstack, service-defined, and ipv6.
	DNSRecordIPType *string `json:"dnsRecordIpType,omitempty" tf:"dns_record_ip_type,omitempty"`

	// Indicates whether to enable private DNS only for inbound endpoints. This option is available only for services that support both gateway and interface endpoints. It routes traffic that originates from the VPC to the gateway endpoint and traffic that originates from on-premises to the interface endpoint. Default is false. Can only be specified if private_dns_enabled is true.
	PrivateDNSOnlyForInboundResolverEndpoint *bool `json:"privateDnsOnlyForInboundResolverEndpoint,omitempty" tf:"private_dns_only_for_inbound_resolver_endpoint,omitempty"`
}

func (*DNSOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSOptionsObservation.

func (*DNSOptionsObservation) DeepCopyInto added in v1.7.0

func (in *DNSOptionsObservation) DeepCopyInto(out *DNSOptionsObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DNSOptionsParameters added in v1.7.0

type DNSOptionsParameters struct {

	// The DNS records created for the endpoint. Valid values are ipv4, dualstack, service-defined, and ipv6.
	// +kubebuilder:validation:Optional
	DNSRecordIPType *string `json:"dnsRecordIpType,omitempty" tf:"dns_record_ip_type,omitempty"`

	// Indicates whether to enable private DNS only for inbound endpoints. This option is available only for services that support both gateway and interface endpoints. It routes traffic that originates from the VPC to the gateway endpoint and traffic that originates from on-premises to the interface endpoint. Default is false. Can only be specified if private_dns_enabled is true.
	// +kubebuilder:validation:Optional
	PrivateDNSOnlyForInboundResolverEndpoint *bool `json:"privateDnsOnlyForInboundResolverEndpoint,omitempty" tf:"private_dns_only_for_inbound_resolver_endpoint,omitempty"`
}

func (*DNSOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSOptionsParameters.

func (*DNSOptionsParameters) DeepCopyInto added in v1.7.0

func (in *DNSOptionsParameters) DeepCopyInto(out *DNSOptionsParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DestinationOptionsInitParameters added in v1.7.0

type DestinationOptionsInitParameters struct {

	// The format for the flow log. Default value: plain-text. Valid values: plain-text, parquet.
	FileFormat *string `json:"fileFormat,omitempty" tf:"file_format,omitempty"`

	// Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. Default value: false.
	HiveCompatiblePartitions *bool `json:"hiveCompatiblePartitions,omitempty" tf:"hive_compatible_partitions,omitempty"`

	// Indicates whether to partition the flow log per hour. This reduces the cost and response time for queries. Default value: false.
	PerHourPartition *bool `json:"perHourPartition,omitempty" tf:"per_hour_partition,omitempty"`
}

func (*DestinationOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationOptionsInitParameters.

func (*DestinationOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DestinationOptionsObservation added in v1.7.0

type DestinationOptionsObservation struct {

	// The format for the flow log. Default value: plain-text. Valid values: plain-text, parquet.
	FileFormat *string `json:"fileFormat,omitempty" tf:"file_format,omitempty"`

	// Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. Default value: false.
	HiveCompatiblePartitions *bool `json:"hiveCompatiblePartitions,omitempty" tf:"hive_compatible_partitions,omitempty"`

	// Indicates whether to partition the flow log per hour. This reduces the cost and response time for queries. Default value: false.
	PerHourPartition *bool `json:"perHourPartition,omitempty" tf:"per_hour_partition,omitempty"`
}

func (*DestinationOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationOptionsObservation.

func (*DestinationOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DestinationOptionsParameters added in v1.7.0

type DestinationOptionsParameters struct {

	// The format for the flow log. Default value: plain-text. Valid values: plain-text, parquet.
	// +kubebuilder:validation:Optional
	FileFormat *string `json:"fileFormat,omitempty" tf:"file_format,omitempty"`

	// Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. Default value: false.
	// +kubebuilder:validation:Optional
	HiveCompatiblePartitions *bool `json:"hiveCompatiblePartitions,omitempty" tf:"hive_compatible_partitions,omitempty"`

	// Indicates whether to partition the flow log per hour. This reduces the cost and response time for queries. Default value: false.
	// +kubebuilder:validation:Optional
	PerHourPartition *bool `json:"perHourPartition,omitempty" tf:"per_hour_partition,omitempty"`
}

func (*DestinationOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationOptionsParameters.

func (*DestinationOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DestinationPortRangeInitParameters added in v1.7.0

type DestinationPortRangeInitParameters struct {

	// Starting port of the range
	FromPort *float64 `json:"fromPort,omitempty" tf:"from_port,omitempty"`

	// Ending port of the range
	ToPort *float64 `json:"toPort,omitempty" tf:"to_port,omitempty"`
}

func (*DestinationPortRangeInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationPortRangeInitParameters.

func (*DestinationPortRangeInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DestinationPortRangeObservation added in v1.7.0

type DestinationPortRangeObservation struct {

	// Starting port of the range
	FromPort *float64 `json:"fromPort,omitempty" tf:"from_port,omitempty"`

	// Ending port of the range
	ToPort *float64 `json:"toPort,omitempty" tf:"to_port,omitempty"`
}

func (*DestinationPortRangeObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationPortRangeObservation.

func (*DestinationPortRangeObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DestinationPortRangeParameters added in v1.7.0

type DestinationPortRangeParameters struct {

	// Starting port of the range
	// +kubebuilder:validation:Optional
	FromPort *float64 `json:"fromPort,omitempty" tf:"from_port,omitempty"`

	// Ending port of the range
	// +kubebuilder:validation:Optional
	ToPort *float64 `json:"toPort,omitempty" tf:"to_port,omitempty"`
}

func (*DestinationPortRangeParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationPortRangeParameters.

func (*DestinationPortRangeParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskContainerInitParameters added in v1.7.0

type DiskContainerInitParameters struct {

	// The description of the disk image being imported.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The format of the disk image being imported. One of VHD or VMDK.
	Format *string `json:"format,omitempty" tf:"format,omitempty"`

	// The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon S3 URL (s3://..). One of url or user_bucket must be set.
	URL *string `json:"url,omitempty" tf:"url,omitempty"`

	// The Amazon S3 bucket for the disk image. One of url or user_bucket must be set. Detailed below.
	UserBucket *UserBucketInitParameters `json:"userBucket,omitempty" tf:"user_bucket,omitempty"`
}

func (*DiskContainerInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskContainerInitParameters.

func (*DiskContainerInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskContainerObservation added in v1.7.0

type DiskContainerObservation struct {

	// The description of the disk image being imported.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The format of the disk image being imported. One of VHD or VMDK.
	Format *string `json:"format,omitempty" tf:"format,omitempty"`

	// The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon S3 URL (s3://..). One of url or user_bucket must be set.
	URL *string `json:"url,omitempty" tf:"url,omitempty"`

	// The Amazon S3 bucket for the disk image. One of url or user_bucket must be set. Detailed below.
	UserBucket *UserBucketObservation `json:"userBucket,omitempty" tf:"user_bucket,omitempty"`
}

func (*DiskContainerObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskContainerObservation.

func (*DiskContainerObservation) DeepCopyInto added in v1.7.0

func (in *DiskContainerObservation) DeepCopyInto(out *DiskContainerObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskContainerParameters added in v1.7.0

type DiskContainerParameters struct {

	// The description of the disk image being imported.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The format of the disk image being imported. One of VHD or VMDK.
	// +kubebuilder:validation:Optional
	Format *string `json:"format" tf:"format,omitempty"`

	// The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon S3 URL (s3://..). One of url or user_bucket must be set.
	// +kubebuilder:validation:Optional
	URL *string `json:"url,omitempty" tf:"url,omitempty"`

	// The Amazon S3 bucket for the disk image. One of url or user_bucket must be set. Detailed below.
	// +kubebuilder:validation:Optional
	UserBucket *UserBucketParameters `json:"userBucket,omitempty" tf:"user_bucket,omitempty"`
}

func (*DiskContainerParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskContainerParameters.

func (*DiskContainerParameters) DeepCopyInto added in v1.7.0

func (in *DiskContainerParameters) DeepCopyInto(out *DiskContainerParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EBSBlockDeviceInitParameters added in v1.7.0

type EBSBlockDeviceInitParameters struct {

	// Whether the volume should be destroyed on instance termination. Defaults to true.
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// Name of the device to mount.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// Enables EBS encryption on the volume. Defaults to false. Cannot be used with snapshot_id. Must be configured to perform drift detection.
	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// Amount of provisioned IOPS. Only valid for volume_type of io1, io2 or gp3.
	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// Reference to a Key in kms to populate kmsKeyId.
	// +kubebuilder:validation:Optional
	KMSKeyIDRef *v1.Reference `json:"kmsKeyIdRef,omitempty" tf:"-"`

	// Selector for a Key in kms to populate kmsKeyId.
	// +kubebuilder:validation:Optional
	KMSKeyIDSelector *v1.Selector `json:"kmsKeyIdSelector,omitempty" tf:"-"`

	// Snapshot ID to mount.
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	// Map of tags to assign to the device.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for volume_type of gp3.
	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	// Size of the volume in gibibytes (GiB).
	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	// Type of volume. Valid values include standard, gp2, gp3, io1, io2, sc1, or st1. Defaults to gp2.
	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*EBSBlockDeviceInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EBSBlockDeviceInitParameters.

func (*EBSBlockDeviceInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EBSBlockDeviceObservation added in v1.7.0

type EBSBlockDeviceObservation struct {

	// Whether the volume should be destroyed on instance termination. Defaults to true.
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// Name of the device to mount.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// Enables EBS encryption on the volume. Defaults to false. Cannot be used with snapshot_id. Must be configured to perform drift detection.
	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// Amount of provisioned IOPS. Only valid for volume_type of io1, io2 or gp3.
	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// Snapshot ID to mount.
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	// Map of tags to assign to the device.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for volume_type of gp3.
	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	// ID of the volume. For example, the ID can be accessed like this, aws_instance.web.ebs_block_device.2.volume_id.
	VolumeID *string `json:"volumeId,omitempty" tf:"volume_id,omitempty"`

	// Size of the volume in gibibytes (GiB).
	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	// Type of volume. Valid values include standard, gp2, gp3, io1, io2, sc1, or st1. Defaults to gp2.
	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*EBSBlockDeviceObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EBSBlockDeviceObservation.

func (*EBSBlockDeviceObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EBSBlockDeviceParameters added in v1.7.0

type EBSBlockDeviceParameters struct {

	// Whether the volume should be destroyed on instance termination. Defaults to true.
	// +kubebuilder:validation:Optional
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// Name of the device to mount.
	// +kubebuilder:validation:Optional
	DeviceName *string `json:"deviceName" tf:"device_name,omitempty"`

	// Enables EBS encryption on the volume. Defaults to false. Cannot be used with snapshot_id. Must be configured to perform drift detection.
	// +kubebuilder:validation:Optional
	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// Amount of provisioned IOPS. Only valid for volume_type of io1, io2 or gp3.
	// +kubebuilder:validation:Optional
	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key
	// +kubebuilder:validation:Optional
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// Reference to a Key in kms to populate kmsKeyId.
	// +kubebuilder:validation:Optional
	KMSKeyIDRef *v1.Reference `json:"kmsKeyIdRef,omitempty" tf:"-"`

	// Selector for a Key in kms to populate kmsKeyId.
	// +kubebuilder:validation:Optional
	KMSKeyIDSelector *v1.Selector `json:"kmsKeyIdSelector,omitempty" tf:"-"`

	// Snapshot ID to mount.
	// +kubebuilder:validation:Optional
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	// Map of tags to assign to the device.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for volume_type of gp3.
	// +kubebuilder:validation:Optional
	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	// Size of the volume in gibibytes (GiB).
	// +kubebuilder:validation:Optional
	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	// Type of volume. Valid values include standard, gp2, gp3, io1, io2, sc1, or st1. Defaults to gp2.
	// +kubebuilder:validation:Optional
	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*EBSBlockDeviceParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EBSBlockDeviceParameters.

func (*EBSBlockDeviceParameters) DeepCopyInto added in v1.7.0

func (in *EBSBlockDeviceParameters) DeepCopyInto(out *EBSBlockDeviceParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EBSInitParameters added in v1.7.0

type EBSInitParameters struct {

	// Whether the volume should be destroyed on instance termination.
	// See Preserving Amazon EBS Volumes on Instance Termination for more information.
	DeleteOnTermination *string `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// Enables EBS encryption on the volume.
	// Cannot be used with snapshot_id.
	Encrypted *string `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// The amount of provisioned IOPS.
	// This must be set with a volume_type of "io1/io2/gp3".
	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted volume.
	// encrypted must be set to true when this is set.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor()
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// Reference to a Key in kms to populate kmsKeyId.
	// +kubebuilder:validation:Optional
	KMSKeyIDRef *v1.Reference `json:"kmsKeyIdRef,omitempty" tf:"-"`

	// Selector for a Key in kms to populate kmsKeyId.
	// +kubebuilder:validation:Optional
	KMSKeyIDSelector *v1.Selector `json:"kmsKeyIdSelector,omitempty" tf:"-"`

	// The Snapshot ID to mount.
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	// The throughput to provision for a gp3 volume in MiB/s (specified as an integer, e.g., 500), with a maximum of 1,000 MiB/s.
	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	// The size of the volume in gigabytes.
	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	// The volume type.
	// Can be one of standard, gp2, gp3, io1, io2, sc1 or st1.
	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*EBSInitParameters) DeepCopy added in v1.7.0

func (in *EBSInitParameters) DeepCopy() *EBSInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EBSInitParameters.

func (*EBSInitParameters) DeepCopyInto added in v1.7.0

func (in *EBSInitParameters) DeepCopyInto(out *EBSInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EBSObservation added in v1.7.0

type EBSObservation struct {

	// Whether the volume should be destroyed on instance termination.
	// See Preserving Amazon EBS Volumes on Instance Termination for more information.
	DeleteOnTermination *string `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// Enables EBS encryption on the volume.
	// Cannot be used with snapshot_id.
	Encrypted *string `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// The amount of provisioned IOPS.
	// This must be set with a volume_type of "io1/io2/gp3".
	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted volume.
	// encrypted must be set to true when this is set.
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// The Snapshot ID to mount.
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	// The throughput to provision for a gp3 volume in MiB/s (specified as an integer, e.g., 500), with a maximum of 1,000 MiB/s.
	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	// The size of the volume in gigabytes.
	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	// The volume type.
	// Can be one of standard, gp2, gp3, io1, io2, sc1 or st1.
	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*EBSObservation) DeepCopy added in v1.7.0

func (in *EBSObservation) DeepCopy() *EBSObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EBSObservation.

func (*EBSObservation) DeepCopyInto added in v1.7.0

func (in *EBSObservation) DeepCopyInto(out *EBSObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EBSParameters added in v1.7.0

type EBSParameters struct {

	// Whether the volume should be destroyed on instance termination.
	// See Preserving Amazon EBS Volumes on Instance Termination for more information.
	// +kubebuilder:validation:Optional
	DeleteOnTermination *string `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// Enables EBS encryption on the volume.
	// Cannot be used with snapshot_id.
	// +kubebuilder:validation:Optional
	Encrypted *string `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// The amount of provisioned IOPS.
	// This must be set with a volume_type of "io1/io2/gp3".
	// +kubebuilder:validation:Optional
	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted volume.
	// encrypted must be set to true when this is set.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor()
	// +kubebuilder:validation:Optional
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// Reference to a Key in kms to populate kmsKeyId.
	// +kubebuilder:validation:Optional
	KMSKeyIDRef *v1.Reference `json:"kmsKeyIdRef,omitempty" tf:"-"`

	// Selector for a Key in kms to populate kmsKeyId.
	// +kubebuilder:validation:Optional
	KMSKeyIDSelector *v1.Selector `json:"kmsKeyIdSelector,omitempty" tf:"-"`

	// The Snapshot ID to mount.
	// +kubebuilder:validation:Optional
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	// The throughput to provision for a gp3 volume in MiB/s (specified as an integer, e.g., 500), with a maximum of 1,000 MiB/s.
	// +kubebuilder:validation:Optional
	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	// The size of the volume in gigabytes.
	// +kubebuilder:validation:Optional
	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	// The volume type.
	// Can be one of standard, gp2, gp3, io1, io2, sc1 or st1.
	// +kubebuilder:validation:Optional
	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*EBSParameters) DeepCopy added in v1.7.0

func (in *EBSParameters) DeepCopy() *EBSParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EBSParameters.

func (*EBSParameters) DeepCopyInto added in v1.7.0

func (in *EBSParameters) DeepCopyInto(out *EBSParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EBSSnapshotImport added in v1.7.0

type EBSSnapshotImport struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.diskContainer) || (has(self.initProvider) && has(self.initProvider.diskContainer))",message="spec.forProvider.diskContainer is a required parameter"
	Spec   EBSSnapshotImportSpec   `json:"spec"`
	Status EBSSnapshotImportStatus `json:"status,omitempty"`
}

EBSSnapshotImport is the Schema for the EBSSnapshotImports API. Provides an elastic block storage snapshot import resource. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*EBSSnapshotImport) DeepCopy added in v1.7.0

func (in *EBSSnapshotImport) DeepCopy() *EBSSnapshotImport

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EBSSnapshotImport.

func (*EBSSnapshotImport) DeepCopyInto added in v1.7.0

func (in *EBSSnapshotImport) DeepCopyInto(out *EBSSnapshotImport)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EBSSnapshotImport) DeepCopyObject added in v1.7.0

func (in *EBSSnapshotImport) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*EBSSnapshotImport) GetCondition added in v1.7.0

func (mg *EBSSnapshotImport) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this EBSSnapshotImport.

func (*EBSSnapshotImport) GetConnectionDetailsMapping added in v1.7.0

func (tr *EBSSnapshotImport) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this EBSSnapshotImport

func (*EBSSnapshotImport) GetDeletionPolicy added in v1.7.0

func (mg *EBSSnapshotImport) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this EBSSnapshotImport.

func (*EBSSnapshotImport) GetID added in v1.7.0

func (tr *EBSSnapshotImport) GetID() string

GetID returns ID of underlying Terraform resource of this EBSSnapshotImport

func (*EBSSnapshotImport) GetInitParameters added in v1.7.0

func (tr *EBSSnapshotImport) GetInitParameters() (map[string]any, error)

GetInitParameters of this EBSSnapshotImport

func (*EBSSnapshotImport) GetManagementPolicies added in v1.7.0

func (mg *EBSSnapshotImport) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this EBSSnapshotImport.

func (*EBSSnapshotImport) GetMergedParameters added in v1.7.0

func (tr *EBSSnapshotImport) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this EBSSnapshotImport

func (*EBSSnapshotImport) GetObservation added in v1.7.0

func (tr *EBSSnapshotImport) GetObservation() (map[string]any, error)

GetObservation of this EBSSnapshotImport

func (*EBSSnapshotImport) GetParameters added in v1.7.0

func (tr *EBSSnapshotImport) GetParameters() (map[string]any, error)

GetParameters of this EBSSnapshotImport

func (*EBSSnapshotImport) GetProviderConfigReference added in v1.7.0

func (mg *EBSSnapshotImport) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this EBSSnapshotImport.

func (*EBSSnapshotImport) GetPublishConnectionDetailsTo added in v1.7.0

func (mg *EBSSnapshotImport) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this EBSSnapshotImport.

func (*EBSSnapshotImport) GetTerraformResourceType added in v1.7.0

func (mg *EBSSnapshotImport) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this EBSSnapshotImport

func (*EBSSnapshotImport) GetTerraformSchemaVersion added in v1.7.0

func (tr *EBSSnapshotImport) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*EBSSnapshotImport) GetWriteConnectionSecretToReference added in v1.7.0

func (mg *EBSSnapshotImport) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this EBSSnapshotImport.

func (*EBSSnapshotImport) Hub added in v1.7.0

func (tr *EBSSnapshotImport) Hub()

Hub marks this type as a conversion hub.

func (*EBSSnapshotImport) LateInitialize added in v1.7.0

func (tr *EBSSnapshotImport) LateInitialize(attrs []byte) (bool, error)

LateInitialize this EBSSnapshotImport using its observed tfState. returns True if there are any spec changes for the resource.

func (*EBSSnapshotImport) ResolveReferences added in v1.7.0

func (mg *EBSSnapshotImport) ResolveReferences(
	ctx context.Context, c client.Reader) error

func (*EBSSnapshotImport) SetConditions added in v1.7.0

func (mg *EBSSnapshotImport) SetConditions(c ...xpv1.Condition)

SetConditions of this EBSSnapshotImport.

func (*EBSSnapshotImport) SetDeletionPolicy added in v1.7.0

func (mg *EBSSnapshotImport) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this EBSSnapshotImport.

func (*EBSSnapshotImport) SetManagementPolicies added in v1.7.0

func (mg *EBSSnapshotImport) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this EBSSnapshotImport.

func (*EBSSnapshotImport) SetObservation added in v1.7.0

func (tr *EBSSnapshotImport) SetObservation(obs map[string]any) error

SetObservation for this EBSSnapshotImport

func (*EBSSnapshotImport) SetParameters added in v1.7.0

func (tr *EBSSnapshotImport) SetParameters(params map[string]any) error

SetParameters for this EBSSnapshotImport

func (*EBSSnapshotImport) SetProviderConfigReference added in v1.7.0

func (mg *EBSSnapshotImport) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this EBSSnapshotImport.

func (*EBSSnapshotImport) SetPublishConnectionDetailsTo added in v1.7.0

func (mg *EBSSnapshotImport) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this EBSSnapshotImport.

func (*EBSSnapshotImport) SetWriteConnectionSecretToReference added in v1.7.0

func (mg *EBSSnapshotImport) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this EBSSnapshotImport.

type EBSSnapshotImportInitParameters added in v1.7.0

type EBSSnapshotImportInitParameters struct {

	// The client-specific data. Detailed below.
	ClientData *ClientDataInitParameters `json:"clientData,omitempty" tf:"client_data,omitempty"`

	// The description string for the import snapshot task.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Information about the disk container. Detailed below.
	DiskContainer *DiskContainerInitParameters `json:"diskContainer,omitempty" tf:"disk_container,omitempty"`

	// Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is used unless you specify a non-default KMS key using KmsKeyId.
	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// An identifier for the symmetric KMS key to use when creating the encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// Reference to a Key in kms to populate kmsKeyId.
	// +kubebuilder:validation:Optional
	KMSKeyIDRef *v1.Reference `json:"kmsKeyIdRef,omitempty" tf:"-"`

	// Selector for a Key in kms to populate kmsKeyId.
	// +kubebuilder:validation:Optional
	KMSKeyIDSelector *v1.Selector `json:"kmsKeyIdSelector,omitempty" tf:"-"`

	// Indicates whether to permanently restore an archived snapshot.
	PermanentRestore *bool `json:"permanentRestore,omitempty" tf:"permanent_restore,omitempty"`

	// The name of the IAM Role the VM Import/Export service will assume. This role needs certain permissions. See https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html#vmimport-role. Default: vmimport
	RoleName *string `json:"roleName,omitempty" tf:"role_name,omitempty"`

	// The name of the storage tier. Valid values are archive and standard. Default value is standard.
	StorageTier *string `json:"storageTier,omitempty" tf:"storage_tier,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Specifies the number of days for which to temporarily restore an archived snapshot. Required for temporary restores only. The snapshot will be automatically re-archived after this period.
	TemporaryRestoreDays *float64 `json:"temporaryRestoreDays,omitempty" tf:"temporary_restore_days,omitempty"`
}

func (*EBSSnapshotImportInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EBSSnapshotImportInitParameters.

func (*EBSSnapshotImportInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EBSSnapshotImportList added in v1.7.0

type EBSSnapshotImportList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []EBSSnapshotImport `json:"items"`
}

EBSSnapshotImportList contains a list of EBSSnapshotImports

func (*EBSSnapshotImportList) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EBSSnapshotImportList.

func (*EBSSnapshotImportList) DeepCopyInto added in v1.7.0

func (in *EBSSnapshotImportList) DeepCopyInto(out *EBSSnapshotImportList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EBSSnapshotImportList) DeepCopyObject added in v1.7.0

func (in *EBSSnapshotImportList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*EBSSnapshotImportList) GetItems added in v1.7.0

func (l *EBSSnapshotImportList) GetItems() []resource.Managed

GetItems of this EBSSnapshotImportList.

type EBSSnapshotImportObservation added in v1.7.0

type EBSSnapshotImportObservation struct {

	// Amazon Resource Name (ARN) of the EBS Snapshot.
	Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`

	// The client-specific data. Detailed below.
	ClientData *ClientDataObservation `json:"clientData,omitempty" tf:"client_data,omitempty"`

	// The data encryption key identifier for the snapshot.
	DataEncryptionKeyID *string `json:"dataEncryptionKeyId,omitempty" tf:"data_encryption_key_id,omitempty"`

	// The description string for the import snapshot task.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Information about the disk container. Detailed below.
	DiskContainer *DiskContainerObservation `json:"diskContainer,omitempty" tf:"disk_container,omitempty"`

	// Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is used unless you specify a non-default KMS key using KmsKeyId.
	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// The snapshot ID (e.g., snap-59fcb34e).
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// An identifier for the symmetric KMS key to use when creating the encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// Amazon Resource Name (ARN) of the EBS Snapshot.
	OutpostArn *string `json:"outpostArn,omitempty" tf:"outpost_arn,omitempty"`

	// Value from an Amazon-maintained list (amazon, aws-marketplace, microsoft) of snapshot owners.
	OwnerAlias *string `json:"ownerAlias,omitempty" tf:"owner_alias,omitempty"`

	// The AWS account ID of the EBS snapshot owner.
	OwnerID *string `json:"ownerId,omitempty" tf:"owner_id,omitempty"`

	// Indicates whether to permanently restore an archived snapshot.
	PermanentRestore *bool `json:"permanentRestore,omitempty" tf:"permanent_restore,omitempty"`

	// The name of the IAM Role the VM Import/Export service will assume. This role needs certain permissions. See https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html#vmimport-role. Default: vmimport
	RoleName *string `json:"roleName,omitempty" tf:"role_name,omitempty"`

	// The name of the storage tier. Valid values are archive and standard. Default value is standard.
	StorageTier *string `json:"storageTier,omitempty" tf:"storage_tier,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// Specifies the number of days for which to temporarily restore an archived snapshot. Required for temporary restores only. The snapshot will be automatically re-archived after this period.
	TemporaryRestoreDays *float64 `json:"temporaryRestoreDays,omitempty" tf:"temporary_restore_days,omitempty"`

	// The snapshot ID (e.g., snap-59fcb34e).
	VolumeID *string `json:"volumeId,omitempty" tf:"volume_id,omitempty"`

	// The size of the drive in GiBs.
	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`
}

func (*EBSSnapshotImportObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EBSSnapshotImportObservation.

func (*EBSSnapshotImportObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EBSSnapshotImportParameters added in v1.7.0

type EBSSnapshotImportParameters struct {

	// The client-specific data. Detailed below.
	// +kubebuilder:validation:Optional
	ClientData *ClientDataParameters `json:"clientData,omitempty" tf:"client_data,omitempty"`

	// The description string for the import snapshot task.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Information about the disk container. Detailed below.
	// +kubebuilder:validation:Optional
	DiskContainer *DiskContainerParameters `json:"diskContainer,omitempty" tf:"disk_container,omitempty"`

	// Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is used unless you specify a non-default KMS key using KmsKeyId.
	// +kubebuilder:validation:Optional
	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// An identifier for the symmetric KMS key to use when creating the encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key
	// +kubebuilder:validation:Optional
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// Reference to a Key in kms to populate kmsKeyId.
	// +kubebuilder:validation:Optional
	KMSKeyIDRef *v1.Reference `json:"kmsKeyIdRef,omitempty" tf:"-"`

	// Selector for a Key in kms to populate kmsKeyId.
	// +kubebuilder:validation:Optional
	KMSKeyIDSelector *v1.Selector `json:"kmsKeyIdSelector,omitempty" tf:"-"`

	// Indicates whether to permanently restore an archived snapshot.
	// +kubebuilder:validation:Optional
	PermanentRestore *bool `json:"permanentRestore,omitempty" tf:"permanent_restore,omitempty"`

	// Region is the region you'd like your resource to be created in.
	// +upjet:crd:field:TFTag=-
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"-"`

	// The name of the IAM Role the VM Import/Export service will assume. This role needs certain permissions. See https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html#vmimport-role. Default: vmimport
	// +kubebuilder:validation:Optional
	RoleName *string `json:"roleName,omitempty" tf:"role_name,omitempty"`

	// The name of the storage tier. Valid values are archive and standard. Default value is standard.
	// +kubebuilder:validation:Optional
	StorageTier *string `json:"storageTier,omitempty" tf:"storage_tier,omitempty"`

	// Key-value map of resource tags.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Specifies the number of days for which to temporarily restore an archived snapshot. Required for temporary restores only. The snapshot will be automatically re-archived after this period.
	// +kubebuilder:validation:Optional
	TemporaryRestoreDays *float64 `json:"temporaryRestoreDays,omitempty" tf:"temporary_restore_days,omitempty"`
}

func (*EBSSnapshotImportParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EBSSnapshotImportParameters.

func (*EBSSnapshotImportParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EBSSnapshotImportSpec added in v1.7.0

type EBSSnapshotImportSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     EBSSnapshotImportParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider EBSSnapshotImportInitParameters `json:"initProvider,omitempty"`
}

EBSSnapshotImportSpec defines the desired state of EBSSnapshotImport

func (*EBSSnapshotImportSpec) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EBSSnapshotImportSpec.

func (*EBSSnapshotImportSpec) DeepCopyInto added in v1.7.0

func (in *EBSSnapshotImportSpec) DeepCopyInto(out *EBSSnapshotImportSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EBSSnapshotImportStatus added in v1.7.0

type EBSSnapshotImportStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        EBSSnapshotImportObservation `json:"atProvider,omitempty"`
}

EBSSnapshotImportStatus defines the observed state of EBSSnapshotImport.

func (*EBSSnapshotImportStatus) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EBSSnapshotImportStatus.

func (*EBSSnapshotImportStatus) DeepCopyInto added in v1.7.0

func (in *EBSSnapshotImportStatus) DeepCopyInto(out *EBSSnapshotImportStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ElasticGpuSpecificationsInitParameters added in v1.7.0

type ElasticGpuSpecificationsInitParameters struct {

	// The Elastic GPU Type
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*ElasticGpuSpecificationsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticGpuSpecificationsInitParameters.

func (*ElasticGpuSpecificationsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ElasticGpuSpecificationsObservation added in v1.7.0

type ElasticGpuSpecificationsObservation struct {

	// The Elastic GPU Type
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*ElasticGpuSpecificationsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticGpuSpecificationsObservation.

func (*ElasticGpuSpecificationsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ElasticGpuSpecificationsParameters added in v1.7.0

type ElasticGpuSpecificationsParameters struct {

	// The Elastic GPU Type
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*ElasticGpuSpecificationsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticGpuSpecificationsParameters.

func (*ElasticGpuSpecificationsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ElasticInferenceAcceleratorInitParameters added in v1.7.0

type ElasticInferenceAcceleratorInitParameters struct {

	// Accelerator type.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*ElasticInferenceAcceleratorInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticInferenceAcceleratorInitParameters.

func (*ElasticInferenceAcceleratorInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ElasticInferenceAcceleratorObservation added in v1.7.0

type ElasticInferenceAcceleratorObservation struct {

	// Accelerator type.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*ElasticInferenceAcceleratorObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticInferenceAcceleratorObservation.

func (*ElasticInferenceAcceleratorObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ElasticInferenceAcceleratorParameters added in v1.7.0

type ElasticInferenceAcceleratorParameters struct {

	// Accelerator type.
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*ElasticInferenceAcceleratorParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticInferenceAcceleratorParameters.

func (*ElasticInferenceAcceleratorParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EnclaveOptionsInitParameters added in v1.7.0

type EnclaveOptionsInitParameters struct {

	// Whether Nitro Enclaves will be enabled on the instance. Defaults to false.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`
}

func (*EnclaveOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnclaveOptionsInitParameters.

func (*EnclaveOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EnclaveOptionsObservation added in v1.7.0

type EnclaveOptionsObservation struct {

	// Whether Nitro Enclaves will be enabled on the instance. Defaults to false.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`
}

func (*EnclaveOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnclaveOptionsObservation.

func (*EnclaveOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EnclaveOptionsParameters added in v1.7.0

type EnclaveOptionsParameters struct {

	// Whether Nitro Enclaves will be enabled on the instance. Defaults to false.
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`
}

func (*EnclaveOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnclaveOptionsParameters.

func (*EnclaveOptionsParameters) DeepCopyInto added in v1.7.0

func (in *EnclaveOptionsParameters) DeepCopyInto(out *EnclaveOptionsParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EphemeralBlockDeviceInitParameters added in v1.7.0

type EphemeralBlockDeviceInitParameters struct {

	// Name of the block device to mount on the instance.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// Suppresses the specified device included in the AMI's block device mapping.
	NoDevice *bool `json:"noDevice,omitempty" tf:"no_device,omitempty"`

	// Instance Store Device Name (e.g., ephemeral0).
	VirtualName *string `json:"virtualName,omitempty" tf:"virtual_name,omitempty"`
}

func (*EphemeralBlockDeviceInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EphemeralBlockDeviceInitParameters.

func (*EphemeralBlockDeviceInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EphemeralBlockDeviceObservation added in v1.7.0

type EphemeralBlockDeviceObservation struct {

	// Name of the block device to mount on the instance.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// Suppresses the specified device included in the AMI's block device mapping.
	NoDevice *bool `json:"noDevice,omitempty" tf:"no_device,omitempty"`

	// Instance Store Device Name (e.g., ephemeral0).
	VirtualName *string `json:"virtualName,omitempty" tf:"virtual_name,omitempty"`
}

func (*EphemeralBlockDeviceObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EphemeralBlockDeviceObservation.

func (*EphemeralBlockDeviceObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EphemeralBlockDeviceParameters added in v1.7.0

type EphemeralBlockDeviceParameters struct {

	// Name of the block device to mount on the instance.
	// +kubebuilder:validation:Optional
	DeviceName *string `json:"deviceName" tf:"device_name,omitempty"`

	// Suppresses the specified device included in the AMI's block device mapping.
	// +kubebuilder:validation:Optional
	NoDevice *bool `json:"noDevice,omitempty" tf:"no_device,omitempty"`

	// Instance Store Device Name (e.g., ephemeral0).
	// +kubebuilder:validation:Optional
	VirtualName *string `json:"virtualName,omitempty" tf:"virtual_name,omitempty"`
}

func (*EphemeralBlockDeviceParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EphemeralBlockDeviceParameters.

func (*EphemeralBlockDeviceParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FlowLog added in v1.7.0

type FlowLog struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              FlowLogSpec   `json:"spec"`
	Status            FlowLogStatus `json:"status,omitempty"`
}

FlowLog is the Schema for the FlowLogs API. Provides a VPC/Subnet/ENI Flow Log +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*FlowLog) DeepCopy added in v1.7.0

func (in *FlowLog) DeepCopy() *FlowLog

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowLog.

func (*FlowLog) DeepCopyInto added in v1.7.0

func (in *FlowLog) DeepCopyInto(out *FlowLog)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FlowLog) DeepCopyObject added in v1.7.0

func (in *FlowLog) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*FlowLog) GetCondition added in v1.7.0

func (mg *FlowLog) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this FlowLog.

func (*FlowLog) GetConnectionDetailsMapping added in v1.7.0

func (tr *FlowLog) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this FlowLog

func (*FlowLog) GetDeletionPolicy added in v1.7.0

func (mg *FlowLog) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this FlowLog.

func (*FlowLog) GetID added in v1.7.0

func (tr *FlowLog) GetID() string

GetID returns ID of underlying Terraform resource of this FlowLog

func (*FlowLog) GetInitParameters added in v1.7.0

func (tr *FlowLog) GetInitParameters() (map[string]any, error)

GetInitParameters of this FlowLog

func (*FlowLog) GetManagementPolicies added in v1.7.0

func (mg *FlowLog) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this FlowLog.

func (*FlowLog) GetMergedParameters added in v1.7.0

func (tr *FlowLog) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this FlowLog

func (*FlowLog) GetObservation added in v1.7.0

func (tr *FlowLog) GetObservation() (map[string]any, error)

GetObservation of this FlowLog

func (*FlowLog) GetParameters added in v1.7.0

func (tr *FlowLog) GetParameters() (map[string]any, error)

GetParameters of this FlowLog

func (*FlowLog) GetProviderConfigReference added in v1.7.0

func (mg *FlowLog) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this FlowLog.

func (*FlowLog) GetPublishConnectionDetailsTo added in v1.7.0

func (mg *FlowLog) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this FlowLog.

func (*FlowLog) GetTerraformResourceType added in v1.7.0

func (mg *FlowLog) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this FlowLog

func (*FlowLog) GetTerraformSchemaVersion added in v1.7.0

func (tr *FlowLog) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*FlowLog) GetWriteConnectionSecretToReference added in v1.7.0

func (mg *FlowLog) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this FlowLog.

func (*FlowLog) Hub added in v1.7.0

func (tr *FlowLog) Hub()

Hub marks this type as a conversion hub.

func (*FlowLog) LateInitialize added in v1.7.0

func (tr *FlowLog) LateInitialize(attrs []byte) (bool, error)

LateInitialize this FlowLog using its observed tfState. returns True if there are any spec changes for the resource.

func (*FlowLog) ResolveReferences added in v1.7.0

func (mg *FlowLog) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this FlowLog.

func (*FlowLog) SetConditions added in v1.7.0

func (mg *FlowLog) SetConditions(c ...xpv1.Condition)

SetConditions of this FlowLog.

func (*FlowLog) SetDeletionPolicy added in v1.7.0

func (mg *FlowLog) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this FlowLog.

func (*FlowLog) SetManagementPolicies added in v1.7.0

func (mg *FlowLog) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this FlowLog.

func (*FlowLog) SetObservation added in v1.7.0

func (tr *FlowLog) SetObservation(obs map[string]any) error

SetObservation for this FlowLog

func (*FlowLog) SetParameters added in v1.7.0

func (tr *FlowLog) SetParameters(params map[string]any) error

SetParameters for this FlowLog

func (*FlowLog) SetProviderConfigReference added in v1.7.0

func (mg *FlowLog) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this FlowLog.

func (*FlowLog) SetPublishConnectionDetailsTo added in v1.7.0

func (mg *FlowLog) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this FlowLog.

func (*FlowLog) SetWriteConnectionSecretToReference added in v1.7.0

func (mg *FlowLog) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this FlowLog.

type FlowLogInitParameters added in v1.7.0

type FlowLogInitParameters struct {

	// ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts.
	DeliverCrossAccountRole *string `json:"deliverCrossAccountRole,omitempty" tf:"deliver_cross_account_role,omitempty"`

	// Describes the destination options for a flow log. More details below.
	DestinationOptions *DestinationOptionsInitParameters `json:"destinationOptions,omitempty" tf:"destination_options,omitempty"`

	// Elastic Network Interface ID to attach to
	EniID *string `json:"eniId,omitempty" tf:"eni_id,omitempty"`

	// The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs log group
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.Role
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor()
	IAMRoleArn *string `json:"iamRoleArn,omitempty" tf:"iam_role_arn,omitempty"`

	// Reference to a Role in iam to populate iamRoleArn.
	// +kubebuilder:validation:Optional
	IAMRoleArnRef *v1.Reference `json:"iamRoleArnRef,omitempty" tf:"-"`

	// Selector for a Role in iam to populate iamRoleArn.
	// +kubebuilder:validation:Optional
	IAMRoleArnSelector *v1.Selector `json:"iamRoleArnSelector,omitempty" tf:"-"`

	// The ARN of the logging destination. Either log_destination or log_group_name must be set.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/cloudwatchlogs/v1beta1.Group
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("arn",true)
	LogDestination *string `json:"logDestination,omitempty" tf:"log_destination,omitempty"`

	// Reference to a Group in cloudwatchlogs to populate logDestination.
	// +kubebuilder:validation:Optional
	LogDestinationRef *v1.Reference `json:"logDestinationRef,omitempty" tf:"-"`

	// Selector for a Group in cloudwatchlogs to populate logDestination.
	// +kubebuilder:validation:Optional
	LogDestinationSelector *v1.Selector `json:"logDestinationSelector,omitempty" tf:"-"`

	// The type of the logging destination. Valid values: cloud-watch-logs, s3, kinesis-data-firehose. Default: cloud-watch-logs.
	LogDestinationType *string `json:"logDestinationType,omitempty" tf:"log_destination_type,omitempty"`

	// The fields to include in the flow log record. Accepted format example: "$${interface-id} $${srcaddr} $${dstaddr} $${srcport} $${dstport}".
	LogFormat *string `json:"logFormat,omitempty" tf:"log_format,omitempty"`

	// Deprecated: Use log_destination instead. The name of the CloudWatch log group. Either log_group_name or log_destination must be set.
	LogGroupName *string `json:"logGroupName,omitempty" tf:"log_group_name,omitempty"`

	// The maximum interval of time
	// during which a flow of packets is captured and aggregated into a flow
	// log record. Valid Values: 60 seconds (1 minute) or 600 seconds (10
	// minutes). Default: 600. When transit_gateway_id or transit_gateway_attachment_id is specified, max_aggregation_interval must be 60 seconds (1 minute).
	MaxAggregationInterval *float64 `json:"maxAggregationInterval,omitempty" tf:"max_aggregation_interval,omitempty"`

	// Subnet ID to attach to
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.Subnet
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in ec2 to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in ec2 to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The type of traffic to capture. Valid values: ACCEPT,REJECT, ALL.
	TrafficType *string `json:"trafficType,omitempty" tf:"traffic_type,omitempty"`

	// Transit Gateway Attachment ID to attach to
	TransitGatewayAttachmentID *string `json:"transitGatewayAttachmentId,omitempty" tf:"transit_gateway_attachment_id,omitempty"`

	// Transit Gateway ID to attach to
	TransitGatewayID *string `json:"transitGatewayId,omitempty" tf:"transit_gateway_id,omitempty"`

	// VPC ID to attach to
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.VPC
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`

	// Reference to a VPC in ec2 to populate vpcId.
	// +kubebuilder:validation:Optional
	VPCIDRef *v1.Reference `json:"vpcIdRef,omitempty" tf:"-"`

	// Selector for a VPC in ec2 to populate vpcId.
	// +kubebuilder:validation:Optional
	VPCIDSelector *v1.Selector `json:"vpcIdSelector,omitempty" tf:"-"`
}

func (*FlowLogInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowLogInitParameters.

func (*FlowLogInitParameters) DeepCopyInto added in v1.7.0

func (in *FlowLogInitParameters) DeepCopyInto(out *FlowLogInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FlowLogList added in v1.7.0

type FlowLogList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []FlowLog `json:"items"`
}

FlowLogList contains a list of FlowLogs

func (*FlowLogList) DeepCopy added in v1.7.0

func (in *FlowLogList) DeepCopy() *FlowLogList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowLogList.

func (*FlowLogList) DeepCopyInto added in v1.7.0

func (in *FlowLogList) DeepCopyInto(out *FlowLogList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FlowLogList) DeepCopyObject added in v1.7.0

func (in *FlowLogList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*FlowLogList) GetItems added in v1.7.0

func (l *FlowLogList) GetItems() []resource.Managed

GetItems of this FlowLogList.

type FlowLogObservation added in v1.7.0

type FlowLogObservation struct {

	// The ARN of the Flow Log.
	Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`

	// ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts.
	DeliverCrossAccountRole *string `json:"deliverCrossAccountRole,omitempty" tf:"deliver_cross_account_role,omitempty"`

	// Describes the destination options for a flow log. More details below.
	DestinationOptions *DestinationOptionsObservation `json:"destinationOptions,omitempty" tf:"destination_options,omitempty"`

	// Elastic Network Interface ID to attach to
	EniID *string `json:"eniId,omitempty" tf:"eni_id,omitempty"`

	// The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs log group
	IAMRoleArn *string `json:"iamRoleArn,omitempty" tf:"iam_role_arn,omitempty"`

	// The Flow Log ID
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The ARN of the logging destination. Either log_destination or log_group_name must be set.
	LogDestination *string `json:"logDestination,omitempty" tf:"log_destination,omitempty"`

	// The type of the logging destination. Valid values: cloud-watch-logs, s3, kinesis-data-firehose. Default: cloud-watch-logs.
	LogDestinationType *string `json:"logDestinationType,omitempty" tf:"log_destination_type,omitempty"`

	// The fields to include in the flow log record. Accepted format example: "$${interface-id} $${srcaddr} $${dstaddr} $${srcport} $${dstport}".
	LogFormat *string `json:"logFormat,omitempty" tf:"log_format,omitempty"`

	// Deprecated: Use log_destination instead. The name of the CloudWatch log group. Either log_group_name or log_destination must be set.
	LogGroupName *string `json:"logGroupName,omitempty" tf:"log_group_name,omitempty"`

	// The maximum interval of time
	// during which a flow of packets is captured and aggregated into a flow
	// log record. Valid Values: 60 seconds (1 minute) or 600 seconds (10
	// minutes). Default: 600. When transit_gateway_id or transit_gateway_attachment_id is specified, max_aggregation_interval must be 60 seconds (1 minute).
	MaxAggregationInterval *float64 `json:"maxAggregationInterval,omitempty" tf:"max_aggregation_interval,omitempty"`

	// Subnet ID to attach to
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// The type of traffic to capture. Valid values: ACCEPT,REJECT, ALL.
	TrafficType *string `json:"trafficType,omitempty" tf:"traffic_type,omitempty"`

	// Transit Gateway Attachment ID to attach to
	TransitGatewayAttachmentID *string `json:"transitGatewayAttachmentId,omitempty" tf:"transit_gateway_attachment_id,omitempty"`

	// Transit Gateway ID to attach to
	TransitGatewayID *string `json:"transitGatewayId,omitempty" tf:"transit_gateway_id,omitempty"`

	// VPC ID to attach to
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`
}

func (*FlowLogObservation) DeepCopy added in v1.7.0

func (in *FlowLogObservation) DeepCopy() *FlowLogObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowLogObservation.

func (*FlowLogObservation) DeepCopyInto added in v1.7.0

func (in *FlowLogObservation) DeepCopyInto(out *FlowLogObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FlowLogParameters added in v1.7.0

type FlowLogParameters struct {

	// ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts.
	// +kubebuilder:validation:Optional
	DeliverCrossAccountRole *string `json:"deliverCrossAccountRole,omitempty" tf:"deliver_cross_account_role,omitempty"`

	// Describes the destination options for a flow log. More details below.
	// +kubebuilder:validation:Optional
	DestinationOptions *DestinationOptionsParameters `json:"destinationOptions,omitempty" tf:"destination_options,omitempty"`

	// Elastic Network Interface ID to attach to
	// +kubebuilder:validation:Optional
	EniID *string `json:"eniId,omitempty" tf:"eni_id,omitempty"`

	// The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs log group
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.Role
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor()
	// +kubebuilder:validation:Optional
	IAMRoleArn *string `json:"iamRoleArn,omitempty" tf:"iam_role_arn,omitempty"`

	// Reference to a Role in iam to populate iamRoleArn.
	// +kubebuilder:validation:Optional
	IAMRoleArnRef *v1.Reference `json:"iamRoleArnRef,omitempty" tf:"-"`

	// Selector for a Role in iam to populate iamRoleArn.
	// +kubebuilder:validation:Optional
	IAMRoleArnSelector *v1.Selector `json:"iamRoleArnSelector,omitempty" tf:"-"`

	// The ARN of the logging destination. Either log_destination or log_group_name must be set.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/cloudwatchlogs/v1beta1.Group
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("arn",true)
	// +kubebuilder:validation:Optional
	LogDestination *string `json:"logDestination,omitempty" tf:"log_destination,omitempty"`

	// Reference to a Group in cloudwatchlogs to populate logDestination.
	// +kubebuilder:validation:Optional
	LogDestinationRef *v1.Reference `json:"logDestinationRef,omitempty" tf:"-"`

	// Selector for a Group in cloudwatchlogs to populate logDestination.
	// +kubebuilder:validation:Optional
	LogDestinationSelector *v1.Selector `json:"logDestinationSelector,omitempty" tf:"-"`

	// The type of the logging destination. Valid values: cloud-watch-logs, s3, kinesis-data-firehose. Default: cloud-watch-logs.
	// +kubebuilder:validation:Optional
	LogDestinationType *string `json:"logDestinationType,omitempty" tf:"log_destination_type,omitempty"`

	// The fields to include in the flow log record. Accepted format example: "$${interface-id} $${srcaddr} $${dstaddr} $${srcport} $${dstport}".
	// +kubebuilder:validation:Optional
	LogFormat *string `json:"logFormat,omitempty" tf:"log_format,omitempty"`

	// Deprecated: Use log_destination instead. The name of the CloudWatch log group. Either log_group_name or log_destination must be set.
	// +kubebuilder:validation:Optional
	LogGroupName *string `json:"logGroupName,omitempty" tf:"log_group_name,omitempty"`

	// The maximum interval of time
	// during which a flow of packets is captured and aggregated into a flow
	// log record. Valid Values: 60 seconds (1 minute) or 600 seconds (10
	// minutes). Default: 600. When transit_gateway_id or transit_gateway_attachment_id is specified, max_aggregation_interval must be 60 seconds (1 minute).
	// +kubebuilder:validation:Optional
	MaxAggregationInterval *float64 `json:"maxAggregationInterval,omitempty" tf:"max_aggregation_interval,omitempty"`

	// Region is the region you'd like your resource to be created in.
	// +upjet:crd:field:TFTag=-
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"-"`

	// Subnet ID to attach to
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.Subnet
	// +kubebuilder:validation:Optional
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in ec2 to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in ec2 to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`

	// Key-value map of resource tags.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The type of traffic to capture. Valid values: ACCEPT,REJECT, ALL.
	// +kubebuilder:validation:Optional
	TrafficType *string `json:"trafficType,omitempty" tf:"traffic_type,omitempty"`

	// Transit Gateway Attachment ID to attach to
	// +kubebuilder:validation:Optional
	TransitGatewayAttachmentID *string `json:"transitGatewayAttachmentId,omitempty" tf:"transit_gateway_attachment_id,omitempty"`

	// Transit Gateway ID to attach to
	// +kubebuilder:validation:Optional
	TransitGatewayID *string `json:"transitGatewayId,omitempty" tf:"transit_gateway_id,omitempty"`

	// VPC ID to attach to
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.VPC
	// +kubebuilder:validation:Optional
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`

	// Reference to a VPC in ec2 to populate vpcId.
	// +kubebuilder:validation:Optional
	VPCIDRef *v1.Reference `json:"vpcIdRef,omitempty" tf:"-"`

	// Selector for a VPC in ec2 to populate vpcId.
	// +kubebuilder:validation:Optional
	VPCIDSelector *v1.Selector `json:"vpcIdSelector,omitempty" tf:"-"`
}

func (*FlowLogParameters) DeepCopy added in v1.7.0

func (in *FlowLogParameters) DeepCopy() *FlowLogParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowLogParameters.

func (*FlowLogParameters) DeepCopyInto added in v1.7.0

func (in *FlowLogParameters) DeepCopyInto(out *FlowLogParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FlowLogSpec added in v1.7.0

type FlowLogSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     FlowLogParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider FlowLogInitParameters `json:"initProvider,omitempty"`
}

FlowLogSpec defines the desired state of FlowLog

func (*FlowLogSpec) DeepCopy added in v1.7.0

func (in *FlowLogSpec) DeepCopy() *FlowLogSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowLogSpec.

func (*FlowLogSpec) DeepCopyInto added in v1.7.0

func (in *FlowLogSpec) DeepCopyInto(out *FlowLogSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FlowLogStatus added in v1.7.0

type FlowLogStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        FlowLogObservation `json:"atProvider,omitempty"`
}

FlowLogStatus defines the observed state of FlowLog.

func (*FlowLogStatus) DeepCopy added in v1.7.0

func (in *FlowLogStatus) DeepCopy() *FlowLogStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlowLogStatus.

func (*FlowLogStatus) DeepCopyInto added in v1.7.0

func (in *FlowLogStatus) DeepCopyInto(out *FlowLogStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HibernationOptionsInitParameters added in v1.7.0

type HibernationOptionsInitParameters struct {

	// If set to true, the launched EC2 instance will hibernation enabled.
	Configured *bool `json:"configured,omitempty" tf:"configured,omitempty"`
}

func (*HibernationOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HibernationOptionsInitParameters.

func (*HibernationOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HibernationOptionsObservation added in v1.7.0

type HibernationOptionsObservation struct {

	// If set to true, the launched EC2 instance will hibernation enabled.
	Configured *bool `json:"configured,omitempty" tf:"configured,omitempty"`
}

func (*HibernationOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HibernationOptionsObservation.

func (*HibernationOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HibernationOptionsParameters added in v1.7.0

type HibernationOptionsParameters struct {

	// If set to true, the launched EC2 instance will hibernation enabled.
	// +kubebuilder:validation:Optional
	Configured *bool `json:"configured" tf:"configured,omitempty"`
}

func (*HibernationOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HibernationOptionsParameters.

func (*HibernationOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IAMInstanceProfileInitParameters added in v1.7.0

type IAMInstanceProfileInitParameters struct {

	// The Amazon Resource Name (ARN) of the instance profile. Conflicts with name.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.InstanceProfile
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor()
	Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`

	// Reference to a InstanceProfile in iam to populate arn.
	// +kubebuilder:validation:Optional
	ArnRef *v1.Reference `json:"arnRef,omitempty" tf:"-"`

	// Selector for a InstanceProfile in iam to populate arn.
	// +kubebuilder:validation:Optional
	ArnSelector *v1.Selector `json:"arnSelector,omitempty" tf:"-"`

	// The name of the instance profile.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.InstanceProfile
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Reference to a InstanceProfile in iam to populate name.
	// +kubebuilder:validation:Optional
	NameRef *v1.Reference `json:"nameRef,omitempty" tf:"-"`

	// Selector for a InstanceProfile in iam to populate name.
	// +kubebuilder:validation:Optional
	NameSelector *v1.Selector `json:"nameSelector,omitempty" tf:"-"`
}

func (*IAMInstanceProfileInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IAMInstanceProfileInitParameters.

func (*IAMInstanceProfileInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IAMInstanceProfileObservation added in v1.7.0

type IAMInstanceProfileObservation struct {

	// The Amazon Resource Name (ARN) of the instance profile. Conflicts with name.
	Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`

	// The name of the instance profile.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`
}

func (*IAMInstanceProfileObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IAMInstanceProfileObservation.

func (*IAMInstanceProfileObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IAMInstanceProfileParameters added in v1.7.0

type IAMInstanceProfileParameters struct {

	// The Amazon Resource Name (ARN) of the instance profile. Conflicts with name.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.InstanceProfile
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor()
	// +kubebuilder:validation:Optional
	Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`

	// Reference to a InstanceProfile in iam to populate arn.
	// +kubebuilder:validation:Optional
	ArnRef *v1.Reference `json:"arnRef,omitempty" tf:"-"`

	// Selector for a InstanceProfile in iam to populate arn.
	// +kubebuilder:validation:Optional
	ArnSelector *v1.Selector `json:"arnSelector,omitempty" tf:"-"`

	// The name of the instance profile.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.InstanceProfile
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Reference to a InstanceProfile in iam to populate name.
	// +kubebuilder:validation:Optional
	NameRef *v1.Reference `json:"nameRef,omitempty" tf:"-"`

	// Selector for a InstanceProfile in iam to populate name.
	// +kubebuilder:validation:Optional
	NameSelector *v1.Selector `json:"nameSelector,omitempty" tf:"-"`
}

func (*IAMInstanceProfileParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IAMInstanceProfileParameters.

func (*IAMInstanceProfileParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Instance added in v1.7.0

type Instance struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              InstanceSpec   `json:"spec"`
	Status            InstanceStatus `json:"status,omitempty"`
}

Instance is the Schema for the Instances API. Provides an EC2 instance resource. This allows instances to be created, updated, and deleted. Instances also support provisioning. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*Instance) DeepCopy added in v1.7.0

func (in *Instance) DeepCopy() *Instance

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Instance.

func (*Instance) DeepCopyInto added in v1.7.0

func (in *Instance) DeepCopyInto(out *Instance)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Instance) DeepCopyObject added in v1.7.0

func (in *Instance) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Instance) GetCondition added in v1.7.0

func (mg *Instance) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Instance.

func (*Instance) GetConnectionDetailsMapping added in v1.7.0

func (tr *Instance) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Instance

func (*Instance) GetDeletionPolicy added in v1.7.0

func (mg *Instance) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Instance.

func (*Instance) GetID added in v1.7.0

func (tr *Instance) GetID() string

GetID returns ID of underlying Terraform resource of this Instance

func (*Instance) GetInitParameters added in v1.7.0

func (tr *Instance) GetInitParameters() (map[string]any, error)

GetInitParameters of this Instance

func (*Instance) GetManagementPolicies added in v1.7.0

func (mg *Instance) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Instance.

func (*Instance) GetMergedParameters added in v1.7.0

func (tr *Instance) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Instance

func (*Instance) GetObservation added in v1.7.0

func (tr *Instance) GetObservation() (map[string]any, error)

GetObservation of this Instance

func (*Instance) GetParameters added in v1.7.0

func (tr *Instance) GetParameters() (map[string]any, error)

GetParameters of this Instance

func (*Instance) GetProviderConfigReference added in v1.7.0

func (mg *Instance) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Instance.

func (*Instance) GetPublishConnectionDetailsTo added in v1.7.0

func (mg *Instance) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Instance.

func (*Instance) GetTerraformResourceType added in v1.7.0

func (mg *Instance) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Instance

func (*Instance) GetTerraformSchemaVersion added in v1.7.0

func (tr *Instance) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Instance) GetWriteConnectionSecretToReference added in v1.7.0

func (mg *Instance) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Instance.

func (*Instance) Hub added in v1.7.0

func (tr *Instance) Hub()

Hub marks this type as a conversion hub.

func (*Instance) LateInitialize added in v1.7.0

func (tr *Instance) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Instance using its observed tfState. returns True if there are any spec changes for the resource.

func (*Instance) ResolveReferences added in v1.7.0

func (mg *Instance) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Instance.

func (*Instance) SetConditions added in v1.7.0

func (mg *Instance) SetConditions(c ...xpv1.Condition)

SetConditions of this Instance.

func (*Instance) SetDeletionPolicy added in v1.7.0

func (mg *Instance) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Instance.

func (*Instance) SetManagementPolicies added in v1.7.0

func (mg *Instance) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Instance.

func (*Instance) SetObservation added in v1.7.0

func (tr *Instance) SetObservation(obs map[string]any) error

SetObservation for this Instance

func (*Instance) SetParameters added in v1.7.0

func (tr *Instance) SetParameters(params map[string]any) error

SetParameters for this Instance

func (*Instance) SetProviderConfigReference added in v1.7.0

func (mg *Instance) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Instance.

func (*Instance) SetPublishConnectionDetailsTo added in v1.7.0

func (mg *Instance) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Instance.

func (*Instance) SetWriteConnectionSecretToReference added in v1.7.0

func (mg *Instance) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Instance.

type InstanceInitParameters added in v1.7.0

type InstanceInitParameters struct {

	// AMI to use for the instance. Required unless launch_template is specified and the Launch Template specifes an AMI. If an AMI is specified in the Launch Template, setting ami will override the AMI specified in the Launch Template.
	AMI *string `json:"ami,omitempty" tf:"ami,omitempty"`

	// Whether to associate a public IP address with an instance in a VPC.
	AssociatePublicIPAddress *bool `json:"associatePublicIpAddress,omitempty" tf:"associate_public_ip_address,omitempty"`

	// AZ to start the instance in.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.
	CPUCoreCount *float64 `json:"cpuCoreCount,omitempty" tf:"cpu_core_count,omitempty"`

	// The CPU options for the instance. See CPU Options below for more details.
	CPUOptions *CPUOptionsInitParameters `json:"cpuOptions,omitempty" tf:"cpu_options,omitempty"`

	// If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.
	CPUThreadsPerCore *float64 `json:"cpuThreadsPerCore,omitempty" tf:"cpu_threads_per_core,omitempty"`

	// Describes an instance's Capacity Reservation targeting option. See Capacity Reservation Specification below for more details.
	CapacityReservationSpecification *CapacityReservationSpecificationInitParameters `json:"capacityReservationSpecification,omitempty" tf:"capacity_reservation_specification,omitempty"`

	// Configuration block for customizing the credit specification of the instance. See Credit Specification below for more details. Removing this configuration on existing instances will only stop managing it. It will not change the configuration back to the default for the instance type.
	CreditSpecification *CreditSpecificationInitParameters `json:"creditSpecification,omitempty" tf:"credit_specification,omitempty"`

	// If true, enables EC2 Instance Stop Protection.
	DisableAPIStop *bool `json:"disableApiStop,omitempty" tf:"disable_api_stop,omitempty"`

	// If true, enables EC2 Instance Termination Protection.
	DisableAPITermination *bool `json:"disableApiTermination,omitempty" tf:"disable_api_termination,omitempty"`

	// One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects.
	EBSBlockDevice []EBSBlockDeviceInitParameters `json:"ebsBlockDevice,omitempty" tf:"ebs_block_device,omitempty"`

	// If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
	EBSOptimized *bool `json:"ebsOptimized,omitempty" tf:"ebs_optimized,omitempty"`

	// Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
	EnclaveOptions *EnclaveOptionsInitParameters `json:"enclaveOptions,omitempty" tf:"enclave_options,omitempty"`

	// One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects.
	EphemeralBlockDevice []EphemeralBlockDeviceInitParameters `json:"ephemeralBlockDevice,omitempty" tf:"ephemeral_block_device,omitempty"`

	// If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the password_data attribute. See GetPasswordData for more information.
	GetPasswordData *bool `json:"getPasswordData,omitempty" tf:"get_password_data,omitempty"`

	// If true, the launched EC2 instance will support hibernation.
	Hibernation *bool `json:"hibernation,omitempty" tf:"hibernation,omitempty"`

	// ID of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
	HostID *string `json:"hostId,omitempty" tf:"host_id,omitempty"`

	// ARN of the host resource group in which to launch the instances. If you specify an ARN, omit the tenancy parameter or set it to host.
	HostResourceGroupArn *string `json:"hostResourceGroupArn,omitempty" tf:"host_resource_group_arn,omitempty"`

	// IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
	IAMInstanceProfile *string `json:"iamInstanceProfile,omitempty" tf:"iam_instance_profile,omitempty"`

	// Number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
	IPv6AddressCount *float64 `json:"ipv6AddressCount,omitempty" tf:"ipv6_address_count,omitempty"`

	// Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
	IPv6Addresses []*string `json:"ipv6Addresses,omitempty" tf:"ipv6_addresses,omitempty"`

	// Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.
	InstanceInitiatedShutdownBehavior *string `json:"instanceInitiatedShutdownBehavior,omitempty" tf:"instance_initiated_shutdown_behavior,omitempty"`

	// Describes the market (purchasing) option for the instances. See Market Options below for details on attributes.
	InstanceMarketOptions *InstanceMarketOptionsInitParameters `json:"instanceMarketOptions,omitempty" tf:"instance_market_options,omitempty"`

	// Instance type to use for the instance. Required unless launch_template is specified and the Launch Template specifies an instance type. If an instance type is specified in the Launch Template, setting instance_type will override the instance type specified in the Launch Template. Updates to this field will trigger a stop/start of the EC2 instance.
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// Key name of the Key Pair to use for the instance; which can be managed using the .
	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	// Specifies a Launch Template to configure the instance. Parameters configured on this resource will override the corresponding parameters in the Launch Template. See Launch Template Specification below for more details.
	LaunchTemplate *LaunchTemplateInitParameters `json:"launchTemplate,omitempty" tf:"launch_template,omitempty"`

	// Maintenance and recovery options for the instance. See Maintenance Options below for more details.
	MaintenanceOptions *MaintenanceOptionsInitParameters `json:"maintenanceOptions,omitempty" tf:"maintenance_options,omitempty"`

	// Customize the metadata options of the instance. See Metadata Options below for more details.
	MetadataOptions *MetadataOptionsInitParameters `json:"metadataOptions,omitempty" tf:"metadata_options,omitempty"`

	// If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
	Monitoring *bool `json:"monitoring,omitempty" tf:"monitoring,omitempty"`

	// Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
	NetworkInterface []NetworkInterfaceInitParameters `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	// Placement Group to start the instance in.
	PlacementGroup *string `json:"placementGroup,omitempty" tf:"placement_group,omitempty"`

	// Number of the partition the instance is in. Valid only if the  strategy argument is set to "partition".
	PlacementPartitionNumber *float64 `json:"placementPartitionNumber,omitempty" tf:"placement_partition_number,omitempty"`

	// Options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
	PrivateDNSNameOptions *PrivateDNSNameOptionsInitParameters `json:"privateDnsNameOptions,omitempty" tf:"private_dns_name_options,omitempty"`

	// Private IP address to associate with the instance in a VPC.
	PrivateIP *string `json:"privateIp,omitempty" tf:"private_ip,omitempty"`

	// Configuration block to customize details about the root block device of the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a list containing one object.
	RootBlockDevice *RootBlockDeviceInitParameters `json:"rootBlockDevice,omitempty" tf:"root_block_device,omitempty"`

	// List of secondary private IPv4 addresses to assign to the instance's primary network interface (eth0) in a VPC. Can only be assigned to the primary network interface (eth0) attached at instance creation, not a pre-existing network interface i.e., referenced in a network_interface block. Refer to the Elastic network interfaces documentation to see the maximum number of private IP addresses allowed per instance type.
	// +listType=set
	SecondaryPrivateIps []*string `json:"secondaryPrivateIps,omitempty" tf:"secondary_private_ips,omitempty"`

	// Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
	SourceDestCheck *bool `json:"sourceDestCheck,omitempty" tf:"source_dest_check,omitempty"`

	// VPC Subnet ID to launch in.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.Subnet
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in ec2 to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in ec2 to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command. Valid values are default, dedicated, and host.
	Tenancy *string `json:"tenancy,omitempty" tf:"tenancy,omitempty"`

	// User data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64 instead. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
	UserDataBase64 *string `json:"userDataBase64,omitempty" tf:"user_data_base64,omitempty"`

	// When used in combination with user_data or user_data_base64 will trigger a destroy and recreate of the EC2 instance when set to true. Defaults to false if not set.
	UserDataReplaceOnChange *bool `json:"userDataReplaceOnChange,omitempty" tf:"user_data_replace_on_change,omitempty"`

	// References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.
	// +kubebuilder:validation:Optional
	VPCSecurityGroupIDRefs []v1.Reference `json:"vpcSecurityGroupIdRefs,omitempty" tf:"-"`

	// Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.
	// +kubebuilder:validation:Optional
	VPCSecurityGroupIDSelector *v1.Selector `json:"vpcSecurityGroupIdSelector,omitempty" tf:"-"`

	// List of security group IDs to associate with.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup
	// +crossplane:generate:reference:refFieldName=VPCSecurityGroupIDRefs
	// +crossplane:generate:reference:selectorFieldName=VPCSecurityGroupIDSelector
	// +listType=set
	VPCSecurityGroupIds []*string `json:"vpcSecurityGroupIds,omitempty" tf:"vpc_security_group_ids,omitempty"`

	// Map of tags to assign, at instance-creation time, to root and EBS volumes.
	// +mapType=granular
	VolumeTags map[string]*string `json:"volumeTags,omitempty" tf:"volume_tags,omitempty"`
}

func (*InstanceInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceInitParameters.

func (*InstanceInitParameters) DeepCopyInto added in v1.7.0

func (in *InstanceInitParameters) DeepCopyInto(out *InstanceInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceList added in v1.7.0

type InstanceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Instance `json:"items"`
}

InstanceList contains a list of Instances

func (*InstanceList) DeepCopy added in v1.7.0

func (in *InstanceList) DeepCopy() *InstanceList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceList.

func (*InstanceList) DeepCopyInto added in v1.7.0

func (in *InstanceList) DeepCopyInto(out *InstanceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InstanceList) DeepCopyObject added in v1.7.0

func (in *InstanceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*InstanceList) GetItems added in v1.7.0

func (l *InstanceList) GetItems() []resource.Managed

GetItems of this InstanceList.

type InstanceMarketOptionsInitParameters added in v1.7.0

type InstanceMarketOptionsInitParameters struct {

	// Type of market for the instance. Valid values are spot and capacity-block. Defaults to spot. Required if spot_options is specified.
	MarketType *string `json:"marketType,omitempty" tf:"market_type,omitempty"`

	// Block to configure the options for Spot Instances. See Spot Options below for details on attributes.
	SpotOptions *SpotOptionsInitParameters `json:"spotOptions,omitempty" tf:"spot_options,omitempty"`
}

func (*InstanceMarketOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceMarketOptionsInitParameters.

func (*InstanceMarketOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceMarketOptionsObservation added in v1.7.0

type InstanceMarketOptionsObservation struct {

	// Type of market for the instance. Valid values are spot and capacity-block. Defaults to spot. Required if spot_options is specified.
	MarketType *string `json:"marketType,omitempty" tf:"market_type,omitempty"`

	// Block to configure the options for Spot Instances. See Spot Options below for details on attributes.
	SpotOptions *SpotOptionsObservation `json:"spotOptions,omitempty" tf:"spot_options,omitempty"`
}

func (*InstanceMarketOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceMarketOptionsObservation.

func (*InstanceMarketOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceMarketOptionsParameters added in v1.7.0

type InstanceMarketOptionsParameters struct {

	// Type of market for the instance. Valid values are spot and capacity-block. Defaults to spot. Required if spot_options is specified.
	// +kubebuilder:validation:Optional
	MarketType *string `json:"marketType,omitempty" tf:"market_type,omitempty"`

	// Block to configure the options for Spot Instances. See Spot Options below for details on attributes.
	// +kubebuilder:validation:Optional
	SpotOptions *SpotOptionsParameters `json:"spotOptions,omitempty" tf:"spot_options,omitempty"`
}

func (*InstanceMarketOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceMarketOptionsParameters.

func (*InstanceMarketOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceMarketOptionsSpotOptionsInitParameters added in v1.7.0

type InstanceMarketOptionsSpotOptionsInitParameters struct {

	// The required duration in minutes. This value must be a multiple of 60.
	BlockDurationMinutes *float64 `json:"blockDurationMinutes,omitempty" tf:"block_duration_minutes,omitempty"`

	// The behavior when a Spot Instance is interrupted. Can be hibernate,
	// stop, or terminate. (Default: terminate).
	InstanceInterruptionBehavior *string `json:"instanceInterruptionBehavior,omitempty" tf:"instance_interruption_behavior,omitempty"`

	// The maximum hourly price you're willing to pay for the Spot Instances.
	MaxPrice *string `json:"maxPrice,omitempty" tf:"max_price,omitempty"`

	// The Spot Instance request type. Can be one-time, or persistent.
	SpotInstanceType *string `json:"spotInstanceType,omitempty" tf:"spot_instance_type,omitempty"`

	// The end date of the request.
	ValidUntil *string `json:"validUntil,omitempty" tf:"valid_until,omitempty"`
}

func (*InstanceMarketOptionsSpotOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceMarketOptionsSpotOptionsInitParameters.

func (*InstanceMarketOptionsSpotOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceMarketOptionsSpotOptionsObservation added in v1.7.0

type InstanceMarketOptionsSpotOptionsObservation struct {

	// The required duration in minutes. This value must be a multiple of 60.
	BlockDurationMinutes *float64 `json:"blockDurationMinutes,omitempty" tf:"block_duration_minutes,omitempty"`

	// The behavior when a Spot Instance is interrupted. Can be hibernate,
	// stop, or terminate. (Default: terminate).
	InstanceInterruptionBehavior *string `json:"instanceInterruptionBehavior,omitempty" tf:"instance_interruption_behavior,omitempty"`

	// The maximum hourly price you're willing to pay for the Spot Instances.
	MaxPrice *string `json:"maxPrice,omitempty" tf:"max_price,omitempty"`

	// The Spot Instance request type. Can be one-time, or persistent.
	SpotInstanceType *string `json:"spotInstanceType,omitempty" tf:"spot_instance_type,omitempty"`

	// The end date of the request.
	ValidUntil *string `json:"validUntil,omitempty" tf:"valid_until,omitempty"`
}

func (*InstanceMarketOptionsSpotOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceMarketOptionsSpotOptionsObservation.

func (*InstanceMarketOptionsSpotOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceMarketOptionsSpotOptionsParameters added in v1.7.0

type InstanceMarketOptionsSpotOptionsParameters struct {

	// The required duration in minutes. This value must be a multiple of 60.
	// +kubebuilder:validation:Optional
	BlockDurationMinutes *float64 `json:"blockDurationMinutes,omitempty" tf:"block_duration_minutes,omitempty"`

	// The behavior when a Spot Instance is interrupted. Can be hibernate,
	// stop, or terminate. (Default: terminate).
	// +kubebuilder:validation:Optional
	InstanceInterruptionBehavior *string `json:"instanceInterruptionBehavior,omitempty" tf:"instance_interruption_behavior,omitempty"`

	// The maximum hourly price you're willing to pay for the Spot Instances.
	// +kubebuilder:validation:Optional
	MaxPrice *string `json:"maxPrice,omitempty" tf:"max_price,omitempty"`

	// The Spot Instance request type. Can be one-time, or persistent.
	// +kubebuilder:validation:Optional
	SpotInstanceType *string `json:"spotInstanceType,omitempty" tf:"spot_instance_type,omitempty"`

	// The end date of the request.
	// +kubebuilder:validation:Optional
	ValidUntil *string `json:"validUntil,omitempty" tf:"valid_until,omitempty"`
}

func (*InstanceMarketOptionsSpotOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceMarketOptionsSpotOptionsParameters.

func (*InstanceMarketOptionsSpotOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceObservation added in v1.7.0

type InstanceObservation struct {

	// AMI to use for the instance. Required unless launch_template is specified and the Launch Template specifes an AMI. If an AMI is specified in the Launch Template, setting ami will override the AMI specified in the Launch Template.
	AMI *string `json:"ami,omitempty" tf:"ami,omitempty"`

	// ARN of the instance.
	Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`

	// Whether to associate a public IP address with an instance in a VPC.
	AssociatePublicIPAddress *bool `json:"associatePublicIpAddress,omitempty" tf:"associate_public_ip_address,omitempty"`

	// AZ to start the instance in.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.
	CPUCoreCount *float64 `json:"cpuCoreCount,omitempty" tf:"cpu_core_count,omitempty"`

	// The CPU options for the instance. See CPU Options below for more details.
	CPUOptions *CPUOptionsObservation `json:"cpuOptions,omitempty" tf:"cpu_options,omitempty"`

	// If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.
	CPUThreadsPerCore *float64 `json:"cpuThreadsPerCore,omitempty" tf:"cpu_threads_per_core,omitempty"`

	// Describes an instance's Capacity Reservation targeting option. See Capacity Reservation Specification below for more details.
	CapacityReservationSpecification *CapacityReservationSpecificationObservation `json:"capacityReservationSpecification,omitempty" tf:"capacity_reservation_specification,omitempty"`

	// Configuration block for customizing the credit specification of the instance. See Credit Specification below for more details. Removing this configuration on existing instances will only stop managing it. It will not change the configuration back to the default for the instance type.
	CreditSpecification *CreditSpecificationObservation `json:"creditSpecification,omitempty" tf:"credit_specification,omitempty"`

	// If true, enables EC2 Instance Stop Protection.
	DisableAPIStop *bool `json:"disableApiStop,omitempty" tf:"disable_api_stop,omitempty"`

	// If true, enables EC2 Instance Termination Protection.
	DisableAPITermination *bool `json:"disableApiTermination,omitempty" tf:"disable_api_termination,omitempty"`

	// One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects.
	EBSBlockDevice []EBSBlockDeviceObservation `json:"ebsBlockDevice,omitempty" tf:"ebs_block_device,omitempty"`

	// If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
	EBSOptimized *bool `json:"ebsOptimized,omitempty" tf:"ebs_optimized,omitempty"`

	// Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
	EnclaveOptions *EnclaveOptionsObservation `json:"enclaveOptions,omitempty" tf:"enclave_options,omitempty"`

	// One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects.
	EphemeralBlockDevice []EphemeralBlockDeviceObservation `json:"ephemeralBlockDevice,omitempty" tf:"ephemeral_block_device,omitempty"`

	// If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the password_data attribute. See GetPasswordData for more information.
	GetPasswordData *bool `json:"getPasswordData,omitempty" tf:"get_password_data,omitempty"`

	// If true, the launched EC2 instance will support hibernation.
	Hibernation *bool `json:"hibernation,omitempty" tf:"hibernation,omitempty"`

	// ID of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
	HostID *string `json:"hostId,omitempty" tf:"host_id,omitempty"`

	// ARN of the host resource group in which to launch the instances. If you specify an ARN, omit the tenancy parameter or set it to host.
	HostResourceGroupArn *string `json:"hostResourceGroupArn,omitempty" tf:"host_resource_group_arn,omitempty"`

	// IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
	IAMInstanceProfile *string `json:"iamInstanceProfile,omitempty" tf:"iam_instance_profile,omitempty"`

	// ID of the instance.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
	IPv6AddressCount *float64 `json:"ipv6AddressCount,omitempty" tf:"ipv6_address_count,omitempty"`

	// Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
	IPv6Addresses []*string `json:"ipv6Addresses,omitempty" tf:"ipv6_addresses,omitempty"`

	// Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.
	InstanceInitiatedShutdownBehavior *string `json:"instanceInitiatedShutdownBehavior,omitempty" tf:"instance_initiated_shutdown_behavior,omitempty"`

	// Indicates whether this is a Spot Instance or a Scheduled Instance.
	InstanceLifecycle *string `json:"instanceLifecycle,omitempty" tf:"instance_lifecycle,omitempty"`

	// Describes the market (purchasing) option for the instances. See Market Options below for details on attributes.
	InstanceMarketOptions *InstanceMarketOptionsObservation `json:"instanceMarketOptions,omitempty" tf:"instance_market_options,omitempty"`

	// State of the instance. One of: pending, running, shutting-down, terminated, stopping, stopped. See Instance Lifecycle for more information.
	InstanceState *string `json:"instanceState,omitempty" tf:"instance_state,omitempty"`

	// Instance type to use for the instance. Required unless launch_template is specified and the Launch Template specifies an instance type. If an instance type is specified in the Launch Template, setting instance_type will override the instance type specified in the Launch Template. Updates to this field will trigger a stop/start of the EC2 instance.
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// Key name of the Key Pair to use for the instance; which can be managed using the .
	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	// Specifies a Launch Template to configure the instance. Parameters configured on this resource will override the corresponding parameters in the Launch Template. See Launch Template Specification below for more details.
	LaunchTemplate *LaunchTemplateObservation `json:"launchTemplate,omitempty" tf:"launch_template,omitempty"`

	// Maintenance and recovery options for the instance. See Maintenance Options below for more details.
	MaintenanceOptions *MaintenanceOptionsObservation `json:"maintenanceOptions,omitempty" tf:"maintenance_options,omitempty"`

	// Customize the metadata options of the instance. See Metadata Options below for more details.
	MetadataOptions *MetadataOptionsObservation `json:"metadataOptions,omitempty" tf:"metadata_options,omitempty"`

	// If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
	Monitoring *bool `json:"monitoring,omitempty" tf:"monitoring,omitempty"`

	// Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
	NetworkInterface []NetworkInterfaceObservation `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	// ARN of the Outpost the instance is assigned to.
	OutpostArn *string `json:"outpostArn,omitempty" tf:"outpost_arn,omitempty"`

	// Base-64 encoded encrypted password data for the instance. Useful for getting the administrator password for instances running Microsoft Windows. This attribute is only exported if get_password_data is true. Note that this encrypted value will be stored in the state file, as with all exported attributes. See GetPasswordData for more information.
	PasswordData *string `json:"passwordData,omitempty" tf:"password_data,omitempty"`

	// Placement Group to start the instance in.
	PlacementGroup *string `json:"placementGroup,omitempty" tf:"placement_group,omitempty"`

	// Number of the partition the instance is in. Valid only if the  strategy argument is set to "partition".
	PlacementPartitionNumber *float64 `json:"placementPartitionNumber,omitempty" tf:"placement_partition_number,omitempty"`

	// ID of the instance's primary network interface.
	PrimaryNetworkInterfaceID *string `json:"primaryNetworkInterfaceId,omitempty" tf:"primary_network_interface_id,omitempty"`

	// Private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you've enabled DNS hostnames for your VPC.
	PrivateDNS *string `json:"privateDns,omitempty" tf:"private_dns,omitempty"`

	// Options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
	PrivateDNSNameOptions *PrivateDNSNameOptionsObservation `json:"privateDnsNameOptions,omitempty" tf:"private_dns_name_options,omitempty"`

	// Private IP address to associate with the instance in a VPC.
	PrivateIP *string `json:"privateIp,omitempty" tf:"private_ip,omitempty"`

	// Public DNS name assigned to the instance. For EC2-VPC, this is only available if you've enabled DNS hostnames for your VPC.
	PublicDNS *string `json:"publicDns,omitempty" tf:"public_dns,omitempty"`

	// Public IP address assigned to the instance, if applicable. NOTE: If you are using an aws_eip with your instance, you should refer to the EIP's address directly and not use public_ip as this field will change after the EIP is attached.
	PublicIP *string `json:"publicIp,omitempty" tf:"public_ip,omitempty"`

	// Configuration block to customize details about the root block device of the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a list containing one object.
	RootBlockDevice *RootBlockDeviceObservation `json:"rootBlockDevice,omitempty" tf:"root_block_device,omitempty"`

	// List of secondary private IPv4 addresses to assign to the instance's primary network interface (eth0) in a VPC. Can only be assigned to the primary network interface (eth0) attached at instance creation, not a pre-existing network interface i.e., referenced in a network_interface block. Refer to the Elastic network interfaces documentation to see the maximum number of private IP addresses allowed per instance type.
	// +listType=set
	SecondaryPrivateIps []*string `json:"secondaryPrivateIps,omitempty" tf:"secondary_private_ips,omitempty"`

	// List of security group names to associate with.
	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
	SourceDestCheck *bool `json:"sourceDestCheck,omitempty" tf:"source_dest_check,omitempty"`

	// If the request is a Spot Instance request, the ID of the request.
	SpotInstanceRequestID *string `json:"spotInstanceRequestId,omitempty" tf:"spot_instance_request_id,omitempty"`

	// VPC Subnet ID to launch in.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// Tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command. Valid values are default, dedicated, and host.
	Tenancy *string `json:"tenancy,omitempty" tf:"tenancy,omitempty"`

	// User data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64 instead. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
	UserDataBase64 *string `json:"userDataBase64,omitempty" tf:"user_data_base64,omitempty"`

	// When used in combination with user_data or user_data_base64 will trigger a destroy and recreate of the EC2 instance when set to true. Defaults to false if not set.
	UserDataReplaceOnChange *bool `json:"userDataReplaceOnChange,omitempty" tf:"user_data_replace_on_change,omitempty"`

	// List of security group IDs to associate with.
	// +listType=set
	VPCSecurityGroupIds []*string `json:"vpcSecurityGroupIds,omitempty" tf:"vpc_security_group_ids,omitempty"`

	// Map of tags to assign, at instance-creation time, to root and EBS volumes.
	// +mapType=granular
	VolumeTags map[string]*string `json:"volumeTags,omitempty" tf:"volume_tags,omitempty"`
}

func (*InstanceObservation) DeepCopy added in v1.7.0

func (in *InstanceObservation) DeepCopy() *InstanceObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceObservation.

func (*InstanceObservation) DeepCopyInto added in v1.7.0

func (in *InstanceObservation) DeepCopyInto(out *InstanceObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceParameters added in v1.7.0

type InstanceParameters struct {

	// AMI to use for the instance. Required unless launch_template is specified and the Launch Template specifes an AMI. If an AMI is specified in the Launch Template, setting ami will override the AMI specified in the Launch Template.
	// +kubebuilder:validation:Optional
	AMI *string `json:"ami,omitempty" tf:"ami,omitempty"`

	// Whether to associate a public IP address with an instance in a VPC.
	// +kubebuilder:validation:Optional
	AssociatePublicIPAddress *bool `json:"associatePublicIpAddress,omitempty" tf:"associate_public_ip_address,omitempty"`

	// AZ to start the instance in.
	// +kubebuilder:validation:Optional
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.
	// +kubebuilder:validation:Optional
	CPUCoreCount *float64 `json:"cpuCoreCount,omitempty" tf:"cpu_core_count,omitempty"`

	// The CPU options for the instance. See CPU Options below for more details.
	// +kubebuilder:validation:Optional
	CPUOptions *CPUOptionsParameters `json:"cpuOptions,omitempty" tf:"cpu_options,omitempty"`

	// If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.
	// +kubebuilder:validation:Optional
	CPUThreadsPerCore *float64 `json:"cpuThreadsPerCore,omitempty" tf:"cpu_threads_per_core,omitempty"`

	// Describes an instance's Capacity Reservation targeting option. See Capacity Reservation Specification below for more details.
	// +kubebuilder:validation:Optional
	CapacityReservationSpecification *CapacityReservationSpecificationParameters `json:"capacityReservationSpecification,omitempty" tf:"capacity_reservation_specification,omitempty"`

	// Configuration block for customizing the credit specification of the instance. See Credit Specification below for more details. Removing this configuration on existing instances will only stop managing it. It will not change the configuration back to the default for the instance type.
	// +kubebuilder:validation:Optional
	CreditSpecification *CreditSpecificationParameters `json:"creditSpecification,omitempty" tf:"credit_specification,omitempty"`

	// If true, enables EC2 Instance Stop Protection.
	// +kubebuilder:validation:Optional
	DisableAPIStop *bool `json:"disableApiStop,omitempty" tf:"disable_api_stop,omitempty"`

	// If true, enables EC2 Instance Termination Protection.
	// +kubebuilder:validation:Optional
	DisableAPITermination *bool `json:"disableApiTermination,omitempty" tf:"disable_api_termination,omitempty"`

	// One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects.
	// +kubebuilder:validation:Optional
	EBSBlockDevice []EBSBlockDeviceParameters `json:"ebsBlockDevice,omitempty" tf:"ebs_block_device,omitempty"`

	// If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
	// +kubebuilder:validation:Optional
	EBSOptimized *bool `json:"ebsOptimized,omitempty" tf:"ebs_optimized,omitempty"`

	// Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
	// +kubebuilder:validation:Optional
	EnclaveOptions *EnclaveOptionsParameters `json:"enclaveOptions,omitempty" tf:"enclave_options,omitempty"`

	// One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects.
	// +kubebuilder:validation:Optional
	EphemeralBlockDevice []EphemeralBlockDeviceParameters `json:"ephemeralBlockDevice,omitempty" tf:"ephemeral_block_device,omitempty"`

	// If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the password_data attribute. See GetPasswordData for more information.
	// +kubebuilder:validation:Optional
	GetPasswordData *bool `json:"getPasswordData,omitempty" tf:"get_password_data,omitempty"`

	// If true, the launched EC2 instance will support hibernation.
	// +kubebuilder:validation:Optional
	Hibernation *bool `json:"hibernation,omitempty" tf:"hibernation,omitempty"`

	// ID of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
	// +kubebuilder:validation:Optional
	HostID *string `json:"hostId,omitempty" tf:"host_id,omitempty"`

	// ARN of the host resource group in which to launch the instances. If you specify an ARN, omit the tenancy parameter or set it to host.
	// +kubebuilder:validation:Optional
	HostResourceGroupArn *string `json:"hostResourceGroupArn,omitempty" tf:"host_resource_group_arn,omitempty"`

	// IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
	// +kubebuilder:validation:Optional
	IAMInstanceProfile *string `json:"iamInstanceProfile,omitempty" tf:"iam_instance_profile,omitempty"`

	// Number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
	// +kubebuilder:validation:Optional
	IPv6AddressCount *float64 `json:"ipv6AddressCount,omitempty" tf:"ipv6_address_count,omitempty"`

	// Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
	// +kubebuilder:validation:Optional
	IPv6Addresses []*string `json:"ipv6Addresses,omitempty" tf:"ipv6_addresses,omitempty"`

	// Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.
	// +kubebuilder:validation:Optional
	InstanceInitiatedShutdownBehavior *string `json:"instanceInitiatedShutdownBehavior,omitempty" tf:"instance_initiated_shutdown_behavior,omitempty"`

	// Describes the market (purchasing) option for the instances. See Market Options below for details on attributes.
	// +kubebuilder:validation:Optional
	InstanceMarketOptions *InstanceMarketOptionsParameters `json:"instanceMarketOptions,omitempty" tf:"instance_market_options,omitempty"`

	// Instance type to use for the instance. Required unless launch_template is specified and the Launch Template specifies an instance type. If an instance type is specified in the Launch Template, setting instance_type will override the instance type specified in the Launch Template. Updates to this field will trigger a stop/start of the EC2 instance.
	// +kubebuilder:validation:Optional
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// Key name of the Key Pair to use for the instance; which can be managed using the .
	// +kubebuilder:validation:Optional
	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	// Specifies a Launch Template to configure the instance. Parameters configured on this resource will override the corresponding parameters in the Launch Template. See Launch Template Specification below for more details.
	// +kubebuilder:validation:Optional
	LaunchTemplate *LaunchTemplateParameters `json:"launchTemplate,omitempty" tf:"launch_template,omitempty"`

	// Maintenance and recovery options for the instance. See Maintenance Options below for more details.
	// +kubebuilder:validation:Optional
	MaintenanceOptions *MaintenanceOptionsParameters `json:"maintenanceOptions,omitempty" tf:"maintenance_options,omitempty"`

	// Customize the metadata options of the instance. See Metadata Options below for more details.
	// +kubebuilder:validation:Optional
	MetadataOptions *MetadataOptionsParameters `json:"metadataOptions,omitempty" tf:"metadata_options,omitempty"`

	// If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
	// +kubebuilder:validation:Optional
	Monitoring *bool `json:"monitoring,omitempty" tf:"monitoring,omitempty"`

	// Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
	// +kubebuilder:validation:Optional
	NetworkInterface []NetworkInterfaceParameters `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	// Placement Group to start the instance in.
	// +kubebuilder:validation:Optional
	PlacementGroup *string `json:"placementGroup,omitempty" tf:"placement_group,omitempty"`

	// Number of the partition the instance is in. Valid only if the  strategy argument is set to "partition".
	// +kubebuilder:validation:Optional
	PlacementPartitionNumber *float64 `json:"placementPartitionNumber,omitempty" tf:"placement_partition_number,omitempty"`

	// Options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
	// +kubebuilder:validation:Optional
	PrivateDNSNameOptions *PrivateDNSNameOptionsParameters `json:"privateDnsNameOptions,omitempty" tf:"private_dns_name_options,omitempty"`

	// Private IP address to associate with the instance in a VPC.
	// +kubebuilder:validation:Optional
	PrivateIP *string `json:"privateIp,omitempty" tf:"private_ip,omitempty"`

	// Region is the region you'd like your resource to be created in.
	// +upjet:crd:field:TFTag=-
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"-"`

	// Configuration block to customize details about the root block device of the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a list containing one object.
	// +kubebuilder:validation:Optional
	RootBlockDevice *RootBlockDeviceParameters `json:"rootBlockDevice,omitempty" tf:"root_block_device,omitempty"`

	// List of secondary private IPv4 addresses to assign to the instance's primary network interface (eth0) in a VPC. Can only be assigned to the primary network interface (eth0) attached at instance creation, not a pre-existing network interface i.e., referenced in a network_interface block. Refer to the Elastic network interfaces documentation to see the maximum number of private IP addresses allowed per instance type.
	// +kubebuilder:validation:Optional
	// +listType=set
	SecondaryPrivateIps []*string `json:"secondaryPrivateIps,omitempty" tf:"secondary_private_ips,omitempty"`

	// Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
	// +kubebuilder:validation:Optional
	SourceDestCheck *bool `json:"sourceDestCheck,omitempty" tf:"source_dest_check,omitempty"`

	// VPC Subnet ID to launch in.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.Subnet
	// +kubebuilder:validation:Optional
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in ec2 to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in ec2 to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`

	// Key-value map of resource tags.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command. Valid values are default, dedicated, and host.
	// +kubebuilder:validation:Optional
	Tenancy *string `json:"tenancy,omitempty" tf:"tenancy,omitempty"`

	// User data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64 instead. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
	// +kubebuilder:validation:Optional
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
	// +kubebuilder:validation:Optional
	UserDataBase64 *string `json:"userDataBase64,omitempty" tf:"user_data_base64,omitempty"`

	// When used in combination with user_data or user_data_base64 will trigger a destroy and recreate of the EC2 instance when set to true. Defaults to false if not set.
	// +kubebuilder:validation:Optional
	UserDataReplaceOnChange *bool `json:"userDataReplaceOnChange,omitempty" tf:"user_data_replace_on_change,omitempty"`

	// References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.
	// +kubebuilder:validation:Optional
	VPCSecurityGroupIDRefs []v1.Reference `json:"vpcSecurityGroupIdRefs,omitempty" tf:"-"`

	// Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.
	// +kubebuilder:validation:Optional
	VPCSecurityGroupIDSelector *v1.Selector `json:"vpcSecurityGroupIdSelector,omitempty" tf:"-"`

	// List of security group IDs to associate with.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup
	// +crossplane:generate:reference:refFieldName=VPCSecurityGroupIDRefs
	// +crossplane:generate:reference:selectorFieldName=VPCSecurityGroupIDSelector
	// +kubebuilder:validation:Optional
	// +listType=set
	VPCSecurityGroupIds []*string `json:"vpcSecurityGroupIds,omitempty" tf:"vpc_security_group_ids,omitempty"`

	// Map of tags to assign, at instance-creation time, to root and EBS volumes.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	VolumeTags map[string]*string `json:"volumeTags,omitempty" tf:"volume_tags,omitempty"`
}

func (*InstanceParameters) DeepCopy added in v1.7.0

func (in *InstanceParameters) DeepCopy() *InstanceParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceParameters.

func (*InstanceParameters) DeepCopyInto added in v1.7.0

func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsAcceleratorCountInitParameters added in v1.7.0

type InstanceRequirementsAcceleratorCountInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsAcceleratorCountInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsAcceleratorCountInitParameters.

func (*InstanceRequirementsAcceleratorCountInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsAcceleratorCountObservation added in v1.7.0

type InstanceRequirementsAcceleratorCountObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsAcceleratorCountObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsAcceleratorCountObservation.

func (*InstanceRequirementsAcceleratorCountObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsAcceleratorCountParameters added in v1.7.0

type InstanceRequirementsAcceleratorCountParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsAcceleratorCountParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsAcceleratorCountParameters.

func (*InstanceRequirementsAcceleratorCountParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsAcceleratorTotalMemoryMibInitParameters added in v1.7.0

type InstanceRequirementsAcceleratorTotalMemoryMibInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsAcceleratorTotalMemoryMibInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsAcceleratorTotalMemoryMibInitParameters.

func (*InstanceRequirementsAcceleratorTotalMemoryMibInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsAcceleratorTotalMemoryMibObservation added in v1.7.0

type InstanceRequirementsAcceleratorTotalMemoryMibObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsAcceleratorTotalMemoryMibObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsAcceleratorTotalMemoryMibObservation.

func (*InstanceRequirementsAcceleratorTotalMemoryMibObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsAcceleratorTotalMemoryMibParameters added in v1.7.0

type InstanceRequirementsAcceleratorTotalMemoryMibParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsAcceleratorTotalMemoryMibParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsAcceleratorTotalMemoryMibParameters.

func (*InstanceRequirementsAcceleratorTotalMemoryMibParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsBaselineEBSBandwidthMbpsInitParameters added in v1.7.0

type InstanceRequirementsBaselineEBSBandwidthMbpsInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsBaselineEBSBandwidthMbpsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsBaselineEBSBandwidthMbpsInitParameters.

func (*InstanceRequirementsBaselineEBSBandwidthMbpsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsBaselineEBSBandwidthMbpsObservation added in v1.7.0

type InstanceRequirementsBaselineEBSBandwidthMbpsObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsBaselineEBSBandwidthMbpsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsBaselineEBSBandwidthMbpsObservation.

func (*InstanceRequirementsBaselineEBSBandwidthMbpsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsBaselineEBSBandwidthMbpsParameters added in v1.7.0

type InstanceRequirementsBaselineEBSBandwidthMbpsParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsBaselineEBSBandwidthMbpsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsBaselineEBSBandwidthMbpsParameters.

func (*InstanceRequirementsBaselineEBSBandwidthMbpsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsInitParameters added in v1.7.0

type InstanceRequirementsInitParameters struct {

	// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
	AcceleratorCount *AcceleratorCountInitParameters `json:"acceleratorCount,omitempty" tf:"accelerator_count,omitempty"`

	// List of accelerator manufacturer names. Default is any manufacturer.
	// +listType=set
	AcceleratorManufacturers []*string `json:"acceleratorManufacturers,omitempty" tf:"accelerator_manufacturers,omitempty"`

	// List of accelerator names. Default is any acclerator.
	// +listType=set
	AcceleratorNames []*string `json:"acceleratorNames,omitempty" tf:"accelerator_names,omitempty"`

	// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
	AcceleratorTotalMemoryMib *AcceleratorTotalMemoryMibInitParameters `json:"acceleratorTotalMemoryMib,omitempty" tf:"accelerator_total_memory_mib,omitempty"`

	// List of accelerator types. Default is any accelerator type.
	// +listType=set
	AcceleratorTypes []*string `json:"acceleratorTypes,omitempty" tf:"accelerator_types,omitempty"`

	// List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.
	// +listType=set
	AllowedInstanceTypes []*string `json:"allowedInstanceTypes,omitempty" tf:"allowed_instance_types,omitempty"`

	// Indicate whether bare metal instace types should be included, excluded, or required. Default is excluded.
	BareMetal *string `json:"bareMetal,omitempty" tf:"bare_metal,omitempty"`

	// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
	BaselineEBSBandwidthMbps *BaselineEBSBandwidthMbpsInitParameters `json:"baselineEbsBandwidthMbps,omitempty" tf:"baseline_ebs_bandwidth_mbps,omitempty"`

	// Indicate whether burstable performance instance types should be included, excluded, or required. Default is excluded.
	BurstablePerformance *string `json:"burstablePerformance,omitempty" tf:"burstable_performance,omitempty"`

	// List of CPU manufacturer names. Default is any manufacturer.
	// +listType=set
	CPUManufacturers []*string `json:"cpuManufacturers,omitempty" tf:"cpu_manufacturers,omitempty"`

	// List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.
	// +listType=set
	ExcludedInstanceTypes []*string `json:"excludedInstanceTypes,omitempty" tf:"excluded_instance_types,omitempty"`

	// List of instance generation names. Default is any generation.
	// +listType=set
	InstanceGenerations []*string `json:"instanceGenerations,omitempty" tf:"instance_generations,omitempty"`

	// Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.
	LocalStorage *string `json:"localStorage,omitempty" tf:"local_storage,omitempty"`

	// List of local storage type names. Default any storage type.
	// +listType=set
	LocalStorageTypes []*string `json:"localStorageTypes,omitempty" tf:"local_storage_types,omitempty"`

	// The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Conflicts with spot_max_price_percentage_over_lowest_price
	MaxSpotPriceAsPercentageOfOptimalOnDemandPrice *float64 `` /* 134-byte string literal not displayed */

	// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
	MemoryGibPerVcpu *MemoryGibPerVcpuInitParameters `json:"memoryGibPerVcpu,omitempty" tf:"memory_gib_per_vcpu,omitempty"`

	// Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
	MemoryMib *MemoryMibInitParameters `json:"memoryMib,omitempty" tf:"memory_mib,omitempty"`

	// Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
	NetworkBandwidthGbps *NetworkBandwidthGbpsInitParameters `json:"networkBandwidthGbps,omitempty" tf:"network_bandwidth_gbps,omitempty"`

	// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
	NetworkInterfaceCount *NetworkInterfaceCountInitParameters `json:"networkInterfaceCount,omitempty" tf:"network_interface_count,omitempty"`

	// The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.
	OnDemandMaxPricePercentageOverLowestPrice *float64 `json:"onDemandMaxPricePercentageOverLowestPrice,omitempty" tf:"on_demand_max_price_percentage_over_lowest_price,omitempty"`

	// Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.
	RequireHibernateSupport *bool `json:"requireHibernateSupport,omitempty" tf:"require_hibernate_support,omitempty"`

	// The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. Conflicts with max_spot_price_as_percentage_of_optimal_on_demand_price
	SpotMaxPricePercentageOverLowestPrice *float64 `json:"spotMaxPricePercentageOverLowestPrice,omitempty" tf:"spot_max_price_percentage_over_lowest_price,omitempty"`

	// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
	TotalLocalStorageGb *TotalLocalStorageGbInitParameters `json:"totalLocalStorageGb,omitempty" tf:"total_local_storage_gb,omitempty"`

	// Block describing the minimum and maximum number of vCPUs. Default is no maximum.
	VcpuCount *VcpuCountInitParameters `json:"vcpuCount,omitempty" tf:"vcpu_count,omitempty"`
}

func (*InstanceRequirementsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsInitParameters.

func (*InstanceRequirementsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsMemoryGibPerVcpuInitParameters added in v1.7.0

type InstanceRequirementsMemoryGibPerVcpuInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsMemoryGibPerVcpuInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsMemoryGibPerVcpuInitParameters.

func (*InstanceRequirementsMemoryGibPerVcpuInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsMemoryGibPerVcpuObservation added in v1.7.0

type InstanceRequirementsMemoryGibPerVcpuObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsMemoryGibPerVcpuObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsMemoryGibPerVcpuObservation.

func (*InstanceRequirementsMemoryGibPerVcpuObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsMemoryGibPerVcpuParameters added in v1.7.0

type InstanceRequirementsMemoryGibPerVcpuParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsMemoryGibPerVcpuParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsMemoryGibPerVcpuParameters.

func (*InstanceRequirementsMemoryGibPerVcpuParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsMemoryMibInitParameters added in v1.7.0

type InstanceRequirementsMemoryMibInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsMemoryMibInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsMemoryMibInitParameters.

func (*InstanceRequirementsMemoryMibInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsMemoryMibObservation added in v1.7.0

type InstanceRequirementsMemoryMibObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsMemoryMibObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsMemoryMibObservation.

func (*InstanceRequirementsMemoryMibObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsMemoryMibParameters added in v1.7.0

type InstanceRequirementsMemoryMibParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsMemoryMibParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsMemoryMibParameters.

func (*InstanceRequirementsMemoryMibParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsNetworkBandwidthGbpsInitParameters added in v1.7.0

type InstanceRequirementsNetworkBandwidthGbpsInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsNetworkBandwidthGbpsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsNetworkBandwidthGbpsInitParameters.

func (*InstanceRequirementsNetworkBandwidthGbpsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsNetworkBandwidthGbpsObservation added in v1.7.0

type InstanceRequirementsNetworkBandwidthGbpsObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsNetworkBandwidthGbpsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsNetworkBandwidthGbpsObservation.

func (*InstanceRequirementsNetworkBandwidthGbpsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsNetworkBandwidthGbpsParameters added in v1.7.0

type InstanceRequirementsNetworkBandwidthGbpsParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsNetworkBandwidthGbpsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsNetworkBandwidthGbpsParameters.

func (*InstanceRequirementsNetworkBandwidthGbpsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsNetworkInterfaceCountInitParameters added in v1.7.0

type InstanceRequirementsNetworkInterfaceCountInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsNetworkInterfaceCountInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsNetworkInterfaceCountInitParameters.

func (*InstanceRequirementsNetworkInterfaceCountInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsNetworkInterfaceCountObservation added in v1.7.0

type InstanceRequirementsNetworkInterfaceCountObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsNetworkInterfaceCountObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsNetworkInterfaceCountObservation.

func (*InstanceRequirementsNetworkInterfaceCountObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsNetworkInterfaceCountParameters added in v1.7.0

type InstanceRequirementsNetworkInterfaceCountParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsNetworkInterfaceCountParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsNetworkInterfaceCountParameters.

func (*InstanceRequirementsNetworkInterfaceCountParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsObservation added in v1.7.0

type InstanceRequirementsObservation struct {

	// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
	AcceleratorCount *AcceleratorCountObservation `json:"acceleratorCount,omitempty" tf:"accelerator_count,omitempty"`

	// List of accelerator manufacturer names. Default is any manufacturer.
	// +listType=set
	AcceleratorManufacturers []*string `json:"acceleratorManufacturers,omitempty" tf:"accelerator_manufacturers,omitempty"`

	// List of accelerator names. Default is any acclerator.
	// +listType=set
	AcceleratorNames []*string `json:"acceleratorNames,omitempty" tf:"accelerator_names,omitempty"`

	// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
	AcceleratorTotalMemoryMib *AcceleratorTotalMemoryMibObservation `json:"acceleratorTotalMemoryMib,omitempty" tf:"accelerator_total_memory_mib,omitempty"`

	// List of accelerator types. Default is any accelerator type.
	// +listType=set
	AcceleratorTypes []*string `json:"acceleratorTypes,omitempty" tf:"accelerator_types,omitempty"`

	// List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.
	// +listType=set
	AllowedInstanceTypes []*string `json:"allowedInstanceTypes,omitempty" tf:"allowed_instance_types,omitempty"`

	// Indicate whether bare metal instace types should be included, excluded, or required. Default is excluded.
	BareMetal *string `json:"bareMetal,omitempty" tf:"bare_metal,omitempty"`

	// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
	BaselineEBSBandwidthMbps *BaselineEBSBandwidthMbpsObservation `json:"baselineEbsBandwidthMbps,omitempty" tf:"baseline_ebs_bandwidth_mbps,omitempty"`

	// Indicate whether burstable performance instance types should be included, excluded, or required. Default is excluded.
	BurstablePerformance *string `json:"burstablePerformance,omitempty" tf:"burstable_performance,omitempty"`

	// List of CPU manufacturer names. Default is any manufacturer.
	// +listType=set
	CPUManufacturers []*string `json:"cpuManufacturers,omitempty" tf:"cpu_manufacturers,omitempty"`

	// List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.
	// +listType=set
	ExcludedInstanceTypes []*string `json:"excludedInstanceTypes,omitempty" tf:"excluded_instance_types,omitempty"`

	// List of instance generation names. Default is any generation.
	// +listType=set
	InstanceGenerations []*string `json:"instanceGenerations,omitempty" tf:"instance_generations,omitempty"`

	// Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.
	LocalStorage *string `json:"localStorage,omitempty" tf:"local_storage,omitempty"`

	// List of local storage type names. Default any storage type.
	// +listType=set
	LocalStorageTypes []*string `json:"localStorageTypes,omitempty" tf:"local_storage_types,omitempty"`

	// The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Conflicts with spot_max_price_percentage_over_lowest_price
	MaxSpotPriceAsPercentageOfOptimalOnDemandPrice *float64 `` /* 134-byte string literal not displayed */

	// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
	MemoryGibPerVcpu *MemoryGibPerVcpuObservation `json:"memoryGibPerVcpu,omitempty" tf:"memory_gib_per_vcpu,omitempty"`

	// Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
	MemoryMib *MemoryMibObservation `json:"memoryMib,omitempty" tf:"memory_mib,omitempty"`

	// Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
	NetworkBandwidthGbps *NetworkBandwidthGbpsObservation `json:"networkBandwidthGbps,omitempty" tf:"network_bandwidth_gbps,omitempty"`

	// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
	NetworkInterfaceCount *NetworkInterfaceCountObservation `json:"networkInterfaceCount,omitempty" tf:"network_interface_count,omitempty"`

	// The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.
	OnDemandMaxPricePercentageOverLowestPrice *float64 `json:"onDemandMaxPricePercentageOverLowestPrice,omitempty" tf:"on_demand_max_price_percentage_over_lowest_price,omitempty"`

	// Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.
	RequireHibernateSupport *bool `json:"requireHibernateSupport,omitempty" tf:"require_hibernate_support,omitempty"`

	// The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. Conflicts with max_spot_price_as_percentage_of_optimal_on_demand_price
	SpotMaxPricePercentageOverLowestPrice *float64 `json:"spotMaxPricePercentageOverLowestPrice,omitempty" tf:"spot_max_price_percentage_over_lowest_price,omitempty"`

	// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
	TotalLocalStorageGb *TotalLocalStorageGbObservation `json:"totalLocalStorageGb,omitempty" tf:"total_local_storage_gb,omitempty"`

	// Block describing the minimum and maximum number of vCPUs. Default is no maximum.
	VcpuCount *VcpuCountObservation `json:"vcpuCount,omitempty" tf:"vcpu_count,omitempty"`
}

func (*InstanceRequirementsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsObservation.

func (*InstanceRequirementsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsParameters added in v1.7.0

type InstanceRequirementsParameters struct {

	// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	AcceleratorCount *AcceleratorCountParameters `json:"acceleratorCount,omitempty" tf:"accelerator_count,omitempty"`

	// List of accelerator manufacturer names. Default is any manufacturer.
	// +kubebuilder:validation:Optional
	// +listType=set
	AcceleratorManufacturers []*string `json:"acceleratorManufacturers,omitempty" tf:"accelerator_manufacturers,omitempty"`

	// List of accelerator names. Default is any acclerator.
	// +kubebuilder:validation:Optional
	// +listType=set
	AcceleratorNames []*string `json:"acceleratorNames,omitempty" tf:"accelerator_names,omitempty"`

	// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	AcceleratorTotalMemoryMib *AcceleratorTotalMemoryMibParameters `json:"acceleratorTotalMemoryMib,omitempty" tf:"accelerator_total_memory_mib,omitempty"`

	// List of accelerator types. Default is any accelerator type.
	// +kubebuilder:validation:Optional
	// +listType=set
	AcceleratorTypes []*string `json:"acceleratorTypes,omitempty" tf:"accelerator_types,omitempty"`

	// List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.
	// +kubebuilder:validation:Optional
	// +listType=set
	AllowedInstanceTypes []*string `json:"allowedInstanceTypes,omitempty" tf:"allowed_instance_types,omitempty"`

	// Indicate whether bare metal instace types should be included, excluded, or required. Default is excluded.
	// +kubebuilder:validation:Optional
	BareMetal *string `json:"bareMetal,omitempty" tf:"bare_metal,omitempty"`

	// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	BaselineEBSBandwidthMbps *BaselineEBSBandwidthMbpsParameters `json:"baselineEbsBandwidthMbps,omitempty" tf:"baseline_ebs_bandwidth_mbps,omitempty"`

	// Indicate whether burstable performance instance types should be included, excluded, or required. Default is excluded.
	// +kubebuilder:validation:Optional
	BurstablePerformance *string `json:"burstablePerformance,omitempty" tf:"burstable_performance,omitempty"`

	// List of CPU manufacturer names. Default is any manufacturer.
	// +kubebuilder:validation:Optional
	// +listType=set
	CPUManufacturers []*string `json:"cpuManufacturers,omitempty" tf:"cpu_manufacturers,omitempty"`

	// List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.
	// +kubebuilder:validation:Optional
	// +listType=set
	ExcludedInstanceTypes []*string `json:"excludedInstanceTypes,omitempty" tf:"excluded_instance_types,omitempty"`

	// List of instance generation names. Default is any generation.
	// +kubebuilder:validation:Optional
	// +listType=set
	InstanceGenerations []*string `json:"instanceGenerations,omitempty" tf:"instance_generations,omitempty"`

	// Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.
	// +kubebuilder:validation:Optional
	LocalStorage *string `json:"localStorage,omitempty" tf:"local_storage,omitempty"`

	// List of local storage type names. Default any storage type.
	// +kubebuilder:validation:Optional
	// +listType=set
	LocalStorageTypes []*string `json:"localStorageTypes,omitempty" tf:"local_storage_types,omitempty"`

	// The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Conflicts with spot_max_price_percentage_over_lowest_price
	// +kubebuilder:validation:Optional
	MaxSpotPriceAsPercentageOfOptimalOnDemandPrice *float64 `` /* 134-byte string literal not displayed */

	// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	MemoryGibPerVcpu *MemoryGibPerVcpuParameters `json:"memoryGibPerVcpu,omitempty" tf:"memory_gib_per_vcpu,omitempty"`

	// Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
	// +kubebuilder:validation:Optional
	MemoryMib *MemoryMibParameters `json:"memoryMib" tf:"memory_mib,omitempty"`

	// Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	NetworkBandwidthGbps *NetworkBandwidthGbpsParameters `json:"networkBandwidthGbps,omitempty" tf:"network_bandwidth_gbps,omitempty"`

	// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	NetworkInterfaceCount *NetworkInterfaceCountParameters `json:"networkInterfaceCount,omitempty" tf:"network_interface_count,omitempty"`

	// The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.
	// +kubebuilder:validation:Optional
	OnDemandMaxPricePercentageOverLowestPrice *float64 `json:"onDemandMaxPricePercentageOverLowestPrice,omitempty" tf:"on_demand_max_price_percentage_over_lowest_price,omitempty"`

	// Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.
	// +kubebuilder:validation:Optional
	RequireHibernateSupport *bool `json:"requireHibernateSupport,omitempty" tf:"require_hibernate_support,omitempty"`

	// The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. Conflicts with max_spot_price_as_percentage_of_optimal_on_demand_price
	// +kubebuilder:validation:Optional
	SpotMaxPricePercentageOverLowestPrice *float64 `json:"spotMaxPricePercentageOverLowestPrice,omitempty" tf:"spot_max_price_percentage_over_lowest_price,omitempty"`

	// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	TotalLocalStorageGb *TotalLocalStorageGbParameters `json:"totalLocalStorageGb,omitempty" tf:"total_local_storage_gb,omitempty"`

	// Block describing the minimum and maximum number of vCPUs. Default is no maximum.
	// +kubebuilder:validation:Optional
	VcpuCount *VcpuCountParameters `json:"vcpuCount" tf:"vcpu_count,omitempty"`
}

func (*InstanceRequirementsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsParameters.

func (*InstanceRequirementsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsTotalLocalStorageGbInitParameters added in v1.7.0

type InstanceRequirementsTotalLocalStorageGbInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsTotalLocalStorageGbInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsTotalLocalStorageGbInitParameters.

func (*InstanceRequirementsTotalLocalStorageGbInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsTotalLocalStorageGbObservation added in v1.7.0

type InstanceRequirementsTotalLocalStorageGbObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsTotalLocalStorageGbObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsTotalLocalStorageGbObservation.

func (*InstanceRequirementsTotalLocalStorageGbObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsTotalLocalStorageGbParameters added in v1.7.0

type InstanceRequirementsTotalLocalStorageGbParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsTotalLocalStorageGbParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsTotalLocalStorageGbParameters.

func (*InstanceRequirementsTotalLocalStorageGbParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsVcpuCountInitParameters added in v1.7.0

type InstanceRequirementsVcpuCountInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsVcpuCountInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsVcpuCountInitParameters.

func (*InstanceRequirementsVcpuCountInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsVcpuCountObservation added in v1.7.0

type InstanceRequirementsVcpuCountObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsVcpuCountObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsVcpuCountObservation.

func (*InstanceRequirementsVcpuCountObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRequirementsVcpuCountParameters added in v1.7.0

type InstanceRequirementsVcpuCountParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*InstanceRequirementsVcpuCountParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsVcpuCountParameters.

func (*InstanceRequirementsVcpuCountParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceSpec added in v1.7.0

type InstanceSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     InstanceParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider InstanceInitParameters `json:"initProvider,omitempty"`
}

InstanceSpec defines the desired state of Instance

func (*InstanceSpec) DeepCopy added in v1.7.0

func (in *InstanceSpec) DeepCopy() *InstanceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSpec.

func (*InstanceSpec) DeepCopyInto added in v1.7.0

func (in *InstanceSpec) DeepCopyInto(out *InstanceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceStatus added in v1.7.0

type InstanceStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        InstanceObservation `json:"atProvider,omitempty"`
}

InstanceStatus defines the observed state of Instance.

func (*InstanceStatus) DeepCopy added in v1.7.0

func (in *InstanceStatus) DeepCopy() *InstanceStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceStatus.

func (*InstanceStatus) DeepCopyInto added in v1.7.0

func (in *InstanceStatus) DeepCopyInto(out *InstanceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchSpecificationEBSBlockDeviceInitParameters added in v1.7.0

type LaunchSpecificationEBSBlockDeviceInitParameters struct {
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// The name of the launch template. Conflicts with id.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// The ID of the launch template. Conflicts with name.
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// The ID of the launch template. Conflicts with name.
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*LaunchSpecificationEBSBlockDeviceInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchSpecificationEBSBlockDeviceInitParameters.

func (*LaunchSpecificationEBSBlockDeviceInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchSpecificationEBSBlockDeviceObservation added in v1.7.0

type LaunchSpecificationEBSBlockDeviceObservation struct {
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// The name of the launch template. Conflicts with id.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// The ID of the launch template. Conflicts with name.
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// The ID of the launch template. Conflicts with name.
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*LaunchSpecificationEBSBlockDeviceObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchSpecificationEBSBlockDeviceObservation.

func (*LaunchSpecificationEBSBlockDeviceObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchSpecificationEBSBlockDeviceParameters added in v1.7.0

type LaunchSpecificationEBSBlockDeviceParameters struct {

	// +kubebuilder:validation:Optional
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// The name of the launch template. Conflicts with id.
	// +kubebuilder:validation:Optional
	DeviceName *string `json:"deviceName" tf:"device_name,omitempty"`

	// +kubebuilder:validation:Optional
	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// +kubebuilder:validation:Optional
	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// The ID of the launch template. Conflicts with name.
	// +kubebuilder:validation:Optional
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// The ID of the launch template. Conflicts with name.
	// +kubebuilder:validation:Optional
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	// +kubebuilder:validation:Optional
	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	// +kubebuilder:validation:Optional
	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	// +kubebuilder:validation:Optional
	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*LaunchSpecificationEBSBlockDeviceParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchSpecificationEBSBlockDeviceParameters.

func (*LaunchSpecificationEBSBlockDeviceParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchSpecificationEphemeralBlockDeviceInitParameters added in v1.7.0

type LaunchSpecificationEphemeralBlockDeviceInitParameters struct {

	// The name of the launch template. Conflicts with id.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// The name of the launch template. Conflicts with id.
	VirtualName *string `json:"virtualName,omitempty" tf:"virtual_name,omitempty"`
}

func (*LaunchSpecificationEphemeralBlockDeviceInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchSpecificationEphemeralBlockDeviceInitParameters.

func (*LaunchSpecificationEphemeralBlockDeviceInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchSpecificationEphemeralBlockDeviceObservation added in v1.7.0

type LaunchSpecificationEphemeralBlockDeviceObservation struct {

	// The name of the launch template. Conflicts with id.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// The name of the launch template. Conflicts with id.
	VirtualName *string `json:"virtualName,omitempty" tf:"virtual_name,omitempty"`
}

func (*LaunchSpecificationEphemeralBlockDeviceObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchSpecificationEphemeralBlockDeviceObservation.

func (*LaunchSpecificationEphemeralBlockDeviceObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchSpecificationEphemeralBlockDeviceParameters added in v1.7.0

type LaunchSpecificationEphemeralBlockDeviceParameters struct {

	// The name of the launch template. Conflicts with id.
	// +kubebuilder:validation:Optional
	DeviceName *string `json:"deviceName" tf:"device_name,omitempty"`

	// The name of the launch template. Conflicts with id.
	// +kubebuilder:validation:Optional
	VirtualName *string `json:"virtualName" tf:"virtual_name,omitempty"`
}

func (*LaunchSpecificationEphemeralBlockDeviceParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchSpecificationEphemeralBlockDeviceParameters.

func (*LaunchSpecificationEphemeralBlockDeviceParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchSpecificationInitParameters added in v1.7.0

type LaunchSpecificationInitParameters struct {
	AMI *string `json:"ami,omitempty" tf:"ami,omitempty"`

	AssociatePublicIPAddress *bool `json:"associatePublicIpAddress,omitempty" tf:"associate_public_ip_address,omitempty"`

	// The availability zone in which to place the request.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	EBSBlockDevice []LaunchSpecificationEBSBlockDeviceInitParameters `json:"ebsBlockDevice,omitempty" tf:"ebs_block_device,omitempty"`

	EBSOptimized *bool `json:"ebsOptimized,omitempty" tf:"ebs_optimized,omitempty"`

	EphemeralBlockDevice []LaunchSpecificationEphemeralBlockDeviceInitParameters `json:"ephemeralBlockDevice,omitempty" tf:"ephemeral_block_device,omitempty"`

	IAMInstanceProfile *string `json:"iamInstanceProfile,omitempty" tf:"iam_instance_profile,omitempty"`

	// takes aws_iam_instance_profile attribute arn as input.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.InstanceProfile
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("arn",true)
	IAMInstanceProfileArn *string `json:"iamInstanceProfileArn,omitempty" tf:"iam_instance_profile_arn,omitempty"`

	// Reference to a InstanceProfile in iam to populate iamInstanceProfileArn.
	// +kubebuilder:validation:Optional
	IAMInstanceProfileArnRef *v1.Reference `json:"iamInstanceProfileArnRef,omitempty" tf:"-"`

	// Selector for a InstanceProfile in iam to populate iamInstanceProfileArn.
	// +kubebuilder:validation:Optional
	IAMInstanceProfileArnSelector *v1.Selector `json:"iamInstanceProfileArnSelector,omitempty" tf:"-"`

	// The type of instance to request.
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// The name of the launch template. Conflicts with id.
	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	Monitoring *bool `json:"monitoring,omitempty" tf:"monitoring,omitempty"`

	PlacementGroup *string `json:"placementGroup,omitempty" tf:"placement_group,omitempty"`

	PlacementTenancy *string `json:"placementTenancy,omitempty" tf:"placement_tenancy,omitempty"`

	RootBlockDevice []LaunchSpecificationRootBlockDeviceInitParameters `json:"rootBlockDevice,omitempty" tf:"root_block_device,omitempty"`

	// The maximum bid price per unit hour.
	SpotPrice *string `json:"spotPrice,omitempty" tf:"spot_price,omitempty"`

	// The subnet in which to launch the requested instance.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// +listType=set
	VPCSecurityGroupIds []*string `json:"vpcSecurityGroupIds,omitempty" tf:"vpc_security_group_ids,omitempty"`

	// The capacity added to the fleet by a fulfilled request.
	WeightedCapacity *string `json:"weightedCapacity,omitempty" tf:"weighted_capacity,omitempty"`
}

func (*LaunchSpecificationInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchSpecificationInitParameters.

func (*LaunchSpecificationInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchSpecificationObservation added in v1.7.0

type LaunchSpecificationObservation struct {
	AMI *string `json:"ami,omitempty" tf:"ami,omitempty"`

	AssociatePublicIPAddress *bool `json:"associatePublicIpAddress,omitempty" tf:"associate_public_ip_address,omitempty"`

	// The availability zone in which to place the request.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	EBSBlockDevice []LaunchSpecificationEBSBlockDeviceObservation `json:"ebsBlockDevice,omitempty" tf:"ebs_block_device,omitempty"`

	EBSOptimized *bool `json:"ebsOptimized,omitempty" tf:"ebs_optimized,omitempty"`

	EphemeralBlockDevice []LaunchSpecificationEphemeralBlockDeviceObservation `json:"ephemeralBlockDevice,omitempty" tf:"ephemeral_block_device,omitempty"`

	IAMInstanceProfile *string `json:"iamInstanceProfile,omitempty" tf:"iam_instance_profile,omitempty"`

	// takes aws_iam_instance_profile attribute arn as input.
	IAMInstanceProfileArn *string `json:"iamInstanceProfileArn,omitempty" tf:"iam_instance_profile_arn,omitempty"`

	// The type of instance to request.
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// The name of the launch template. Conflicts with id.
	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	Monitoring *bool `json:"monitoring,omitempty" tf:"monitoring,omitempty"`

	PlacementGroup *string `json:"placementGroup,omitempty" tf:"placement_group,omitempty"`

	PlacementTenancy *string `json:"placementTenancy,omitempty" tf:"placement_tenancy,omitempty"`

	RootBlockDevice []LaunchSpecificationRootBlockDeviceObservation `json:"rootBlockDevice,omitempty" tf:"root_block_device,omitempty"`

	// The maximum bid price per unit hour.
	SpotPrice *string `json:"spotPrice,omitempty" tf:"spot_price,omitempty"`

	// The subnet in which to launch the requested instance.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// +listType=set
	VPCSecurityGroupIds []*string `json:"vpcSecurityGroupIds,omitempty" tf:"vpc_security_group_ids,omitempty"`

	// The capacity added to the fleet by a fulfilled request.
	WeightedCapacity *string `json:"weightedCapacity,omitempty" tf:"weighted_capacity,omitempty"`
}

func (*LaunchSpecificationObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchSpecificationObservation.

func (*LaunchSpecificationObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchSpecificationParameters added in v1.7.0

type LaunchSpecificationParameters struct {

	// +kubebuilder:validation:Optional
	AMI *string `json:"ami" tf:"ami,omitempty"`

	// +kubebuilder:validation:Optional
	AssociatePublicIPAddress *bool `json:"associatePublicIpAddress,omitempty" tf:"associate_public_ip_address,omitempty"`

	// The availability zone in which to place the request.
	// +kubebuilder:validation:Optional
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// +kubebuilder:validation:Optional
	EBSBlockDevice []LaunchSpecificationEBSBlockDeviceParameters `json:"ebsBlockDevice,omitempty" tf:"ebs_block_device,omitempty"`

	// +kubebuilder:validation:Optional
	EBSOptimized *bool `json:"ebsOptimized,omitempty" tf:"ebs_optimized,omitempty"`

	// +kubebuilder:validation:Optional
	EphemeralBlockDevice []LaunchSpecificationEphemeralBlockDeviceParameters `json:"ephemeralBlockDevice,omitempty" tf:"ephemeral_block_device,omitempty"`

	// +kubebuilder:validation:Optional
	IAMInstanceProfile *string `json:"iamInstanceProfile,omitempty" tf:"iam_instance_profile,omitempty"`

	// takes aws_iam_instance_profile attribute arn as input.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.InstanceProfile
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("arn",true)
	// +kubebuilder:validation:Optional
	IAMInstanceProfileArn *string `json:"iamInstanceProfileArn,omitempty" tf:"iam_instance_profile_arn,omitempty"`

	// Reference to a InstanceProfile in iam to populate iamInstanceProfileArn.
	// +kubebuilder:validation:Optional
	IAMInstanceProfileArnRef *v1.Reference `json:"iamInstanceProfileArnRef,omitempty" tf:"-"`

	// Selector for a InstanceProfile in iam to populate iamInstanceProfileArn.
	// +kubebuilder:validation:Optional
	IAMInstanceProfileArnSelector *v1.Selector `json:"iamInstanceProfileArnSelector,omitempty" tf:"-"`

	// The type of instance to request.
	// +kubebuilder:validation:Optional
	InstanceType *string `json:"instanceType" tf:"instance_type,omitempty"`

	// The name of the launch template. Conflicts with id.
	// +kubebuilder:validation:Optional
	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	// +kubebuilder:validation:Optional
	Monitoring *bool `json:"monitoring,omitempty" tf:"monitoring,omitempty"`

	// +kubebuilder:validation:Optional
	PlacementGroup *string `json:"placementGroup,omitempty" tf:"placement_group,omitempty"`

	// +kubebuilder:validation:Optional
	PlacementTenancy *string `json:"placementTenancy,omitempty" tf:"placement_tenancy,omitempty"`

	// +kubebuilder:validation:Optional
	RootBlockDevice []LaunchSpecificationRootBlockDeviceParameters `json:"rootBlockDevice,omitempty" tf:"root_block_device,omitempty"`

	// The maximum bid price per unit hour.
	// +kubebuilder:validation:Optional
	SpotPrice *string `json:"spotPrice,omitempty" tf:"spot_price,omitempty"`

	// The subnet in which to launch the requested instance.
	// +kubebuilder:validation:Optional
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Key-value map of resource tags.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// +kubebuilder:validation:Optional
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// +kubebuilder:validation:Optional
	// +listType=set
	VPCSecurityGroupIds []*string `json:"vpcSecurityGroupIds,omitempty" tf:"vpc_security_group_ids,omitempty"`

	// The capacity added to the fleet by a fulfilled request.
	// +kubebuilder:validation:Optional
	WeightedCapacity *string `json:"weightedCapacity,omitempty" tf:"weighted_capacity,omitempty"`
}

func (*LaunchSpecificationParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchSpecificationParameters.

func (*LaunchSpecificationParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchSpecificationRootBlockDeviceInitParameters added in v1.7.0

type LaunchSpecificationRootBlockDeviceInitParameters struct {
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// The ID of the launch template. Conflicts with name.
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*LaunchSpecificationRootBlockDeviceInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchSpecificationRootBlockDeviceInitParameters.

func (*LaunchSpecificationRootBlockDeviceInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchSpecificationRootBlockDeviceObservation added in v1.7.0

type LaunchSpecificationRootBlockDeviceObservation struct {
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// The ID of the launch template. Conflicts with name.
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*LaunchSpecificationRootBlockDeviceObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchSpecificationRootBlockDeviceObservation.

func (*LaunchSpecificationRootBlockDeviceObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchSpecificationRootBlockDeviceParameters added in v1.7.0

type LaunchSpecificationRootBlockDeviceParameters struct {

	// +kubebuilder:validation:Optional
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// +kubebuilder:validation:Optional
	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// +kubebuilder:validation:Optional
	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// The ID of the launch template. Conflicts with name.
	// +kubebuilder:validation:Optional
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// +kubebuilder:validation:Optional
	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	// +kubebuilder:validation:Optional
	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	// +kubebuilder:validation:Optional
	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*LaunchSpecificationRootBlockDeviceParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchSpecificationRootBlockDeviceParameters.

func (*LaunchSpecificationRootBlockDeviceParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplate added in v1.7.0

type LaunchTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              LaunchTemplateSpec   `json:"spec"`
	Status            LaunchTemplateStatus `json:"status,omitempty"`
}

LaunchTemplate is the Schema for the LaunchTemplates API. Provides an EC2 launch template resource. Can be used to create instances or auto scaling groups. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*LaunchTemplate) DeepCopy added in v1.7.0

func (in *LaunchTemplate) DeepCopy() *LaunchTemplate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplate.

func (*LaunchTemplate) DeepCopyInto added in v1.7.0

func (in *LaunchTemplate) DeepCopyInto(out *LaunchTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LaunchTemplate) DeepCopyObject added in v1.7.0

func (in *LaunchTemplate) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*LaunchTemplate) GetCondition added in v1.7.0

func (mg *LaunchTemplate) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this LaunchTemplate.

func (*LaunchTemplate) GetConnectionDetailsMapping added in v1.7.0

func (tr *LaunchTemplate) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this LaunchTemplate

func (*LaunchTemplate) GetDeletionPolicy added in v1.7.0

func (mg *LaunchTemplate) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this LaunchTemplate.

func (*LaunchTemplate) GetID added in v1.7.0

func (tr *LaunchTemplate) GetID() string

GetID returns ID of underlying Terraform resource of this LaunchTemplate

func (*LaunchTemplate) GetInitParameters added in v1.7.0

func (tr *LaunchTemplate) GetInitParameters() (map[string]any, error)

GetInitParameters of this LaunchTemplate

func (*LaunchTemplate) GetManagementPolicies added in v1.7.0

func (mg *LaunchTemplate) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this LaunchTemplate.

func (*LaunchTemplate) GetMergedParameters added in v1.7.0

func (tr *LaunchTemplate) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this LaunchTemplate

func (*LaunchTemplate) GetObservation added in v1.7.0

func (tr *LaunchTemplate) GetObservation() (map[string]any, error)

GetObservation of this LaunchTemplate

func (*LaunchTemplate) GetParameters added in v1.7.0

func (tr *LaunchTemplate) GetParameters() (map[string]any, error)

GetParameters of this LaunchTemplate

func (*LaunchTemplate) GetProviderConfigReference added in v1.7.0

func (mg *LaunchTemplate) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this LaunchTemplate.

func (*LaunchTemplate) GetPublishConnectionDetailsTo added in v1.7.0

func (mg *LaunchTemplate) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this LaunchTemplate.

func (*LaunchTemplate) GetTerraformResourceType added in v1.7.0

func (mg *LaunchTemplate) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this LaunchTemplate

func (*LaunchTemplate) GetTerraformSchemaVersion added in v1.7.0

func (tr *LaunchTemplate) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*LaunchTemplate) GetWriteConnectionSecretToReference added in v1.7.0

func (mg *LaunchTemplate) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this LaunchTemplate.

func (*LaunchTemplate) Hub added in v1.7.0

func (tr *LaunchTemplate) Hub()

Hub marks this type as a conversion hub.

func (*LaunchTemplate) LateInitialize added in v1.7.0

func (tr *LaunchTemplate) LateInitialize(attrs []byte) (bool, error)

LateInitialize this LaunchTemplate using its observed tfState. returns True if there are any spec changes for the resource.

func (*LaunchTemplate) ResolveReferences added in v1.7.0

func (mg *LaunchTemplate) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this LaunchTemplate.

func (*LaunchTemplate) SetConditions added in v1.7.0

func (mg *LaunchTemplate) SetConditions(c ...xpv1.Condition)

SetConditions of this LaunchTemplate.

func (*LaunchTemplate) SetDeletionPolicy added in v1.7.0

func (mg *LaunchTemplate) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this LaunchTemplate.

func (*LaunchTemplate) SetManagementPolicies added in v1.7.0

func (mg *LaunchTemplate) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this LaunchTemplate.

func (*LaunchTemplate) SetObservation added in v1.7.0

func (tr *LaunchTemplate) SetObservation(obs map[string]any) error

SetObservation for this LaunchTemplate

func (*LaunchTemplate) SetParameters added in v1.7.0

func (tr *LaunchTemplate) SetParameters(params map[string]any) error

SetParameters for this LaunchTemplate

func (*LaunchTemplate) SetProviderConfigReference added in v1.7.0

func (mg *LaunchTemplate) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this LaunchTemplate.

func (*LaunchTemplate) SetPublishConnectionDetailsTo added in v1.7.0

func (mg *LaunchTemplate) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this LaunchTemplate.

func (*LaunchTemplate) SetWriteConnectionSecretToReference added in v1.7.0

func (mg *LaunchTemplate) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this LaunchTemplate.

type LaunchTemplateCPUOptionsInitParameters added in v1.7.0

type LaunchTemplateCPUOptionsInitParameters struct {

	// Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are enabled and disabled.
	AmdSevSnp *string `json:"amdSevSnp,omitempty" tf:"amd_sev_snp,omitempty"`

	// The number of CPU cores for the instance.
	CoreCount *float64 `json:"coreCount,omitempty" tf:"core_count,omitempty"`

	// The number of threads per CPU core.
	// To disable Intel Hyper-Threading Technology for the instance, specify a value of 1.
	// Otherwise, specify the default value of 2.
	ThreadsPerCore *float64 `json:"threadsPerCore,omitempty" tf:"threads_per_core,omitempty"`
}

func (*LaunchTemplateCPUOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateCPUOptionsInitParameters.

func (*LaunchTemplateCPUOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateCPUOptionsObservation added in v1.7.0

type LaunchTemplateCPUOptionsObservation struct {

	// Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are enabled and disabled.
	AmdSevSnp *string `json:"amdSevSnp,omitempty" tf:"amd_sev_snp,omitempty"`

	// The number of CPU cores for the instance.
	CoreCount *float64 `json:"coreCount,omitempty" tf:"core_count,omitempty"`

	// The number of threads per CPU core.
	// To disable Intel Hyper-Threading Technology for the instance, specify a value of 1.
	// Otherwise, specify the default value of 2.
	ThreadsPerCore *float64 `json:"threadsPerCore,omitempty" tf:"threads_per_core,omitempty"`
}

func (*LaunchTemplateCPUOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateCPUOptionsObservation.

func (*LaunchTemplateCPUOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateCPUOptionsParameters added in v1.7.0

type LaunchTemplateCPUOptionsParameters struct {

	// Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are enabled and disabled.
	// +kubebuilder:validation:Optional
	AmdSevSnp *string `json:"amdSevSnp,omitempty" tf:"amd_sev_snp,omitempty"`

	// The number of CPU cores for the instance.
	// +kubebuilder:validation:Optional
	CoreCount *float64 `json:"coreCount,omitempty" tf:"core_count,omitempty"`

	// The number of threads per CPU core.
	// To disable Intel Hyper-Threading Technology for the instance, specify a value of 1.
	// Otherwise, specify the default value of 2.
	// +kubebuilder:validation:Optional
	ThreadsPerCore *float64 `json:"threadsPerCore,omitempty" tf:"threads_per_core,omitempty"`
}

func (*LaunchTemplateCPUOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateCPUOptionsParameters.

func (*LaunchTemplateCPUOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateCapacityReservationSpecificationInitParameters added in v1.7.0

type LaunchTemplateCapacityReservationSpecificationInitParameters struct {

	// Indicates the instance's Capacity Reservation preferences. Can be open or none. (Default none).
	CapacityReservationPreference *string `json:"capacityReservationPreference,omitempty" tf:"capacity_reservation_preference,omitempty"`

	// Used to target a specific Capacity Reservation:
	CapacityReservationTarget *CapacityReservationSpecificationCapacityReservationTargetInitParameters `json:"capacityReservationTarget,omitempty" tf:"capacity_reservation_target,omitempty"`
}

func (*LaunchTemplateCapacityReservationSpecificationInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateCapacityReservationSpecificationInitParameters.

func (*LaunchTemplateCapacityReservationSpecificationInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateCapacityReservationSpecificationObservation added in v1.7.0

type LaunchTemplateCapacityReservationSpecificationObservation struct {

	// Indicates the instance's Capacity Reservation preferences. Can be open or none. (Default none).
	CapacityReservationPreference *string `json:"capacityReservationPreference,omitempty" tf:"capacity_reservation_preference,omitempty"`

	// Used to target a specific Capacity Reservation:
	CapacityReservationTarget *CapacityReservationSpecificationCapacityReservationTargetObservation `json:"capacityReservationTarget,omitempty" tf:"capacity_reservation_target,omitempty"`
}

func (*LaunchTemplateCapacityReservationSpecificationObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateCapacityReservationSpecificationObservation.

func (*LaunchTemplateCapacityReservationSpecificationObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateCapacityReservationSpecificationParameters added in v1.7.0

type LaunchTemplateCapacityReservationSpecificationParameters struct {

	// Indicates the instance's Capacity Reservation preferences. Can be open or none. (Default none).
	// +kubebuilder:validation:Optional
	CapacityReservationPreference *string `json:"capacityReservationPreference,omitempty" tf:"capacity_reservation_preference,omitempty"`

	// Used to target a specific Capacity Reservation:
	// +kubebuilder:validation:Optional
	CapacityReservationTarget *CapacityReservationSpecificationCapacityReservationTargetParameters `json:"capacityReservationTarget,omitempty" tf:"capacity_reservation_target,omitempty"`
}

func (*LaunchTemplateCapacityReservationSpecificationParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateCapacityReservationSpecificationParameters.

func (*LaunchTemplateCapacityReservationSpecificationParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateConfigInitParameters added in v1.7.0

type LaunchTemplateConfigInitParameters struct {

	// Launch template specification. See Launch Template Specification below for more details.
	LaunchTemplateSpecification *LaunchTemplateSpecificationInitParameters `json:"launchTemplateSpecification,omitempty" tf:"launch_template_specification,omitempty"`

	// One or more override configurations. See Overrides below for more details.
	Overrides []OverridesInitParameters `json:"overrides,omitempty" tf:"overrides,omitempty"`
}

func (*LaunchTemplateConfigInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateConfigInitParameters.

func (*LaunchTemplateConfigInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateConfigObservation added in v1.7.0

type LaunchTemplateConfigObservation struct {

	// Launch template specification. See Launch Template Specification below for more details.
	LaunchTemplateSpecification *LaunchTemplateSpecificationObservation `json:"launchTemplateSpecification,omitempty" tf:"launch_template_specification,omitempty"`

	// One or more override configurations. See Overrides below for more details.
	Overrides []OverridesObservation `json:"overrides,omitempty" tf:"overrides,omitempty"`
}

func (*LaunchTemplateConfigObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateConfigObservation.

func (*LaunchTemplateConfigObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateConfigParameters added in v1.7.0

type LaunchTemplateConfigParameters struct {

	// Launch template specification. See Launch Template Specification below for more details.
	// +kubebuilder:validation:Optional
	LaunchTemplateSpecification *LaunchTemplateSpecificationParameters `json:"launchTemplateSpecification" tf:"launch_template_specification,omitempty"`

	// One or more override configurations. See Overrides below for more details.
	// +kubebuilder:validation:Optional
	Overrides []OverridesParameters `json:"overrides,omitempty" tf:"overrides,omitempty"`
}

func (*LaunchTemplateConfigParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateConfigParameters.

func (*LaunchTemplateConfigParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateCreditSpecificationInitParameters added in v1.7.0

type LaunchTemplateCreditSpecificationInitParameters struct {

	// The credit option for CPU usage.
	// Can be standard or unlimited.
	// T3 instances are launched as unlimited by default.
	// T2 instances are launched as standard by default.
	CPUCredits *string `json:"cpuCredits,omitempty" tf:"cpu_credits,omitempty"`
}

func (*LaunchTemplateCreditSpecificationInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateCreditSpecificationInitParameters.

func (*LaunchTemplateCreditSpecificationInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateCreditSpecificationObservation added in v1.7.0

type LaunchTemplateCreditSpecificationObservation struct {

	// The credit option for CPU usage.
	// Can be standard or unlimited.
	// T3 instances are launched as unlimited by default.
	// T2 instances are launched as standard by default.
	CPUCredits *string `json:"cpuCredits,omitempty" tf:"cpu_credits,omitempty"`
}

func (*LaunchTemplateCreditSpecificationObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateCreditSpecificationObservation.

func (*LaunchTemplateCreditSpecificationObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateCreditSpecificationParameters added in v1.7.0

type LaunchTemplateCreditSpecificationParameters struct {

	// The credit option for CPU usage.
	// Can be standard or unlimited.
	// T3 instances are launched as unlimited by default.
	// T2 instances are launched as standard by default.
	// +kubebuilder:validation:Optional
	CPUCredits *string `json:"cpuCredits,omitempty" tf:"cpu_credits,omitempty"`
}

func (*LaunchTemplateCreditSpecificationParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateCreditSpecificationParameters.

func (*LaunchTemplateCreditSpecificationParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateEnclaveOptionsInitParameters added in v1.7.0

type LaunchTemplateEnclaveOptionsInitParameters struct {

	// If set to true, Nitro Enclaves will be enabled on the instance.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`
}

func (*LaunchTemplateEnclaveOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateEnclaveOptionsInitParameters.

func (*LaunchTemplateEnclaveOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateEnclaveOptionsObservation added in v1.7.0

type LaunchTemplateEnclaveOptionsObservation struct {

	// If set to true, Nitro Enclaves will be enabled on the instance.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`
}

func (*LaunchTemplateEnclaveOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateEnclaveOptionsObservation.

func (*LaunchTemplateEnclaveOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateEnclaveOptionsParameters added in v1.7.0

type LaunchTemplateEnclaveOptionsParameters struct {

	// If set to true, Nitro Enclaves will be enabled on the instance.
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`
}

func (*LaunchTemplateEnclaveOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateEnclaveOptionsParameters.

func (*LaunchTemplateEnclaveOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateInitParameters added in v1.7.0

type LaunchTemplateInitParameters struct {

	// ID of the launch template. Conflicts with name.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Name of the launch template. Conflicts with id.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Template version. Can be a specific version number, $Latest or $Default. The default value is $Default.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*LaunchTemplateInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateInitParameters.

func (*LaunchTemplateInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateInitParameters_2 added in v1.7.0

type LaunchTemplateInitParameters_2 struct {

	// Specify volumes to attach to the instance besides the volumes specified by the AMI.
	// See Block Devices below for details.
	BlockDeviceMappings []BlockDeviceMappingsInitParameters `json:"blockDeviceMappings,omitempty" tf:"block_device_mappings,omitempty"`

	// The CPU options for the instance. See CPU Options below for more details.
	CPUOptions *LaunchTemplateCPUOptionsInitParameters `json:"cpuOptions,omitempty" tf:"cpu_options,omitempty"`

	// Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
	CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationInitParameters `json:"capacityReservationSpecification,omitempty" tf:"capacity_reservation_specification,omitempty"`

	// Customize the credit specification of the instance. See Credit
	// Specification below for more details.
	CreditSpecification *LaunchTemplateCreditSpecificationInitParameters `json:"creditSpecification,omitempty" tf:"credit_specification,omitempty"`

	// Default Version of the launch template.
	DefaultVersion *float64 `json:"defaultVersion,omitempty" tf:"default_version,omitempty"`

	// Description of the launch template.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// If true, enables EC2 Instance Stop Protection.
	DisableAPIStop *bool `json:"disableApiStop,omitempty" tf:"disable_api_stop,omitempty"`

	// If true, enables EC2 Instance
	// Termination Protection
	DisableAPITermination *bool `json:"disableApiTermination,omitempty" tf:"disable_api_termination,omitempty"`

	// If true, the launched EC2 instance will be EBS-optimized.
	EBSOptimized *string `json:"ebsOptimized,omitempty" tf:"ebs_optimized,omitempty"`

	// The elastic GPU to attach to the instance. See Elastic GPU
	// below for more details.
	ElasticGpuSpecifications []ElasticGpuSpecificationsInitParameters `json:"elasticGpuSpecifications,omitempty" tf:"elastic_gpu_specifications,omitempty"`

	// Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.
	ElasticInferenceAccelerator *ElasticInferenceAcceleratorInitParameters `json:"elasticInferenceAccelerator,omitempty" tf:"elastic_inference_accelerator,omitempty"`

	// Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
	EnclaveOptions *LaunchTemplateEnclaveOptionsInitParameters `json:"enclaveOptions,omitempty" tf:"enclave_options,omitempty"`

	// The hibernation options for the instance. See Hibernation Options below for more details.
	HibernationOptions *HibernationOptionsInitParameters `json:"hibernationOptions,omitempty" tf:"hibernation_options,omitempty"`

	// The IAM Instance Profile to launch the instance with. See Instance Profile
	// below for more details.
	IAMInstanceProfile *IAMInstanceProfileInitParameters `json:"iamInstanceProfile,omitempty" tf:"iam_instance_profile,omitempty"`

	// The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. resolve:ssm:parameter-name. See docs for more details.
	ImageID *string `json:"imageId,omitempty" tf:"image_id,omitempty"`

	// Shutdown behavior for the instance. Can be stop or terminate.
	// (Default: stop).
	InstanceInitiatedShutdownBehavior *string `json:"instanceInitiatedShutdownBehavior,omitempty" tf:"instance_initiated_shutdown_behavior,omitempty"`

	// The market (purchasing) option for the instance. See Market Options
	// below for details.
	InstanceMarketOptions *LaunchTemplateInstanceMarketOptionsInitParameters `json:"instanceMarketOptions,omitempty" tf:"instance_market_options,omitempty"`

	// The attribute requirements for the type of instance. If present then instance_type cannot be present.
	InstanceRequirements *InstanceRequirementsInitParameters `json:"instanceRequirements,omitempty" tf:"instance_requirements,omitempty"`

	// The type of the instance. If present then instance_requirements cannot be present.
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// The kernel ID.
	KernelID *string `json:"kernelId,omitempty" tf:"kernel_id,omitempty"`

	// The key name to use for the instance.
	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	// A list of license specifications to associate with. See License Specification below for more details.
	LicenseSpecification []LicenseSpecificationInitParameters `json:"licenseSpecification,omitempty" tf:"license_specification,omitempty"`

	// The maintenance options for the instance. See Maintenance Options below for more details.
	MaintenanceOptions *LaunchTemplateMaintenanceOptionsInitParameters `json:"maintenanceOptions,omitempty" tf:"maintenance_options,omitempty"`

	// Customize the metadata options for the instance. See Metadata Options below for more details.
	MetadataOptions *LaunchTemplateMetadataOptionsInitParameters `json:"metadataOptions,omitempty" tf:"metadata_options,omitempty"`

	// The monitoring option for the instance. See Monitoring below for more details.
	Monitoring *MonitoringInitParameters `json:"monitoring,omitempty" tf:"monitoring,omitempty"`

	// The name of the launch template.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Customize network interfaces to be attached at instance boot time. See Network
	// Interfaces below for more details.
	NetworkInterfaces []NetworkInterfacesInitParameters `json:"networkInterfaces,omitempty" tf:"network_interfaces,omitempty"`

	// The placement of the instance. See Placement below for more details.
	Placement *PlacementInitParameters `json:"placement,omitempty" tf:"placement,omitempty"`

	// The options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
	PrivateDNSNameOptions *LaunchTemplatePrivateDNSNameOptionsInitParameters `json:"privateDnsNameOptions,omitempty" tf:"private_dns_name_options,omitempty"`

	// The ID of the RAM disk.
	RAMDiskID *string `json:"ramDiskId,omitempty" tf:"ram_disk_id,omitempty"`

	// References to SecurityGroup in ec2 to populate securityGroupNames.
	// +kubebuilder:validation:Optional
	SecurityGroupNameRefs []v1.Reference `json:"securityGroupNameRefs,omitempty" tf:"-"`

	// Selector for a list of SecurityGroup in ec2 to populate securityGroupNames.
	// +kubebuilder:validation:Optional
	SecurityGroupNameSelector *v1.Selector `json:"securityGroupNameSelector,omitempty" tf:"-"`

	// A list of security group names to associate with. If you are creating Instances in a VPC, use
	// vpc_security_group_ids instead.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup
	// +crossplane:generate:reference:refFieldName=SecurityGroupNameRefs
	// +crossplane:generate:reference:selectorFieldName=SecurityGroupNameSelector
	// +listType=set
	SecurityGroupNames []*string `json:"securityGroupNames,omitempty" tf:"security_group_names,omitempty"`

	// The tags to apply to the resources during launch. See Tag Specifications below for more details. Default tags are currently not propagated to ASG created resources so you may wish to inject your default tags into this variable against the relevant child resource types created.
	TagSpecifications []TagSpecificationsInitParameters `json:"tagSpecifications,omitempty" tf:"tag_specifications,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Whether to update Default Version each update. Conflicts with default_version.
	UpdateDefaultVersion *bool `json:"updateDefaultVersion,omitempty" tf:"update_default_version,omitempty"`

	// The base64-encoded user data to provide when launching the instance.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.
	// +kubebuilder:validation:Optional
	VPCSecurityGroupIDRefs []v1.Reference `json:"vpcSecurityGroupIdRefs,omitempty" tf:"-"`

	// Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.
	// +kubebuilder:validation:Optional
	VPCSecurityGroupIDSelector *v1.Selector `json:"vpcSecurityGroupIdSelector,omitempty" tf:"-"`

	// A list of security group IDs to associate with. Conflicts with network_interfaces.security_groups
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup
	// +crossplane:generate:reference:refFieldName=VPCSecurityGroupIDRefs
	// +crossplane:generate:reference:selectorFieldName=VPCSecurityGroupIDSelector
	// +listType=set
	VPCSecurityGroupIds []*string `json:"vpcSecurityGroupIds,omitempty" tf:"vpc_security_group_ids,omitempty"`
}

func (*LaunchTemplateInitParameters_2) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateInitParameters_2.

func (*LaunchTemplateInitParameters_2) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateInstanceMarketOptionsInitParameters added in v1.7.0

type LaunchTemplateInstanceMarketOptionsInitParameters struct {

	// The market type. Can be spot.
	MarketType *string `json:"marketType,omitempty" tf:"market_type,omitempty"`

	// The options for Spot Instance
	SpotOptions *InstanceMarketOptionsSpotOptionsInitParameters `json:"spotOptions,omitempty" tf:"spot_options,omitempty"`
}

func (*LaunchTemplateInstanceMarketOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateInstanceMarketOptionsInitParameters.

func (*LaunchTemplateInstanceMarketOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateInstanceMarketOptionsObservation added in v1.7.0

type LaunchTemplateInstanceMarketOptionsObservation struct {

	// The market type. Can be spot.
	MarketType *string `json:"marketType,omitempty" tf:"market_type,omitempty"`

	// The options for Spot Instance
	SpotOptions *InstanceMarketOptionsSpotOptionsObservation `json:"spotOptions,omitempty" tf:"spot_options,omitempty"`
}

func (*LaunchTemplateInstanceMarketOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateInstanceMarketOptionsObservation.

func (*LaunchTemplateInstanceMarketOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateInstanceMarketOptionsParameters added in v1.7.0

type LaunchTemplateInstanceMarketOptionsParameters struct {

	// The market type. Can be spot.
	// +kubebuilder:validation:Optional
	MarketType *string `json:"marketType,omitempty" tf:"market_type,omitempty"`

	// The options for Spot Instance
	// +kubebuilder:validation:Optional
	SpotOptions *InstanceMarketOptionsSpotOptionsParameters `json:"spotOptions,omitempty" tf:"spot_options,omitempty"`
}

func (*LaunchTemplateInstanceMarketOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateInstanceMarketOptionsParameters.

func (*LaunchTemplateInstanceMarketOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateList added in v1.7.0

type LaunchTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []LaunchTemplate `json:"items"`
}

LaunchTemplateList contains a list of LaunchTemplates

func (*LaunchTemplateList) DeepCopy added in v1.7.0

func (in *LaunchTemplateList) DeepCopy() *LaunchTemplateList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateList.

func (*LaunchTemplateList) DeepCopyInto added in v1.7.0

func (in *LaunchTemplateList) DeepCopyInto(out *LaunchTemplateList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LaunchTemplateList) DeepCopyObject added in v1.7.0

func (in *LaunchTemplateList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*LaunchTemplateList) GetItems added in v1.7.0

func (l *LaunchTemplateList) GetItems() []resource.Managed

GetItems of this LaunchTemplateList.

type LaunchTemplateMaintenanceOptionsInitParameters added in v1.7.0

type LaunchTemplateMaintenanceOptionsInitParameters struct {

	// Disables the automatic recovery behavior of your instance or sets it to default. Can be "default" or "disabled". See Recover your instance for more details.
	AutoRecovery *string `json:"autoRecovery,omitempty" tf:"auto_recovery,omitempty"`
}

func (*LaunchTemplateMaintenanceOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateMaintenanceOptionsInitParameters.

func (*LaunchTemplateMaintenanceOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateMaintenanceOptionsObservation added in v1.7.0

type LaunchTemplateMaintenanceOptionsObservation struct {

	// Disables the automatic recovery behavior of your instance or sets it to default. Can be "default" or "disabled". See Recover your instance for more details.
	AutoRecovery *string `json:"autoRecovery,omitempty" tf:"auto_recovery,omitempty"`
}

func (*LaunchTemplateMaintenanceOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateMaintenanceOptionsObservation.

func (*LaunchTemplateMaintenanceOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateMaintenanceOptionsParameters added in v1.7.0

type LaunchTemplateMaintenanceOptionsParameters struct {

	// Disables the automatic recovery behavior of your instance or sets it to default. Can be "default" or "disabled". See Recover your instance for more details.
	// +kubebuilder:validation:Optional
	AutoRecovery *string `json:"autoRecovery,omitempty" tf:"auto_recovery,omitempty"`
}

func (*LaunchTemplateMaintenanceOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateMaintenanceOptionsParameters.

func (*LaunchTemplateMaintenanceOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateMetadataOptionsInitParameters added in v1.7.0

type LaunchTemplateMetadataOptionsInitParameters struct {

	// Whether the metadata service is available. Can be "enabled" or "disabled". (Default: "enabled").
	HTTPEndpoint *string `json:"httpEndpoint,omitempty" tf:"http_endpoint,omitempty"`

	// Enables or disables the IPv6 endpoint for the instance metadata service. Can be "enabled" or "disabled".
	HTTPProtocolIPv6 *string `json:"httpProtocolIpv6,omitempty" tf:"http_protocol_ipv6,omitempty"`

	// The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from 1 to 64. (Default: 1).
	HTTPPutResponseHopLimit *float64 `json:"httpPutResponseHopLimit,omitempty" tf:"http_put_response_hop_limit,omitempty"`

	// Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2 (IMDSv2). Can be "optional" or "required". (Default: "optional").
	HTTPTokens *string `json:"httpTokens,omitempty" tf:"http_tokens,omitempty"`

	// Enables or disables access to instance tags from the instance metadata service. Can be "enabled" or "disabled".
	InstanceMetadataTags *string `json:"instanceMetadataTags,omitempty" tf:"instance_metadata_tags,omitempty"`
}

func (*LaunchTemplateMetadataOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateMetadataOptionsInitParameters.

func (*LaunchTemplateMetadataOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateMetadataOptionsObservation added in v1.7.0

type LaunchTemplateMetadataOptionsObservation struct {

	// Whether the metadata service is available. Can be "enabled" or "disabled". (Default: "enabled").
	HTTPEndpoint *string `json:"httpEndpoint,omitempty" tf:"http_endpoint,omitempty"`

	// Enables or disables the IPv6 endpoint for the instance metadata service. Can be "enabled" or "disabled".
	HTTPProtocolIPv6 *string `json:"httpProtocolIpv6,omitempty" tf:"http_protocol_ipv6,omitempty"`

	// The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from 1 to 64. (Default: 1).
	HTTPPutResponseHopLimit *float64 `json:"httpPutResponseHopLimit,omitempty" tf:"http_put_response_hop_limit,omitempty"`

	// Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2 (IMDSv2). Can be "optional" or "required". (Default: "optional").
	HTTPTokens *string `json:"httpTokens,omitempty" tf:"http_tokens,omitempty"`

	// Enables or disables access to instance tags from the instance metadata service. Can be "enabled" or "disabled".
	InstanceMetadataTags *string `json:"instanceMetadataTags,omitempty" tf:"instance_metadata_tags,omitempty"`
}

func (*LaunchTemplateMetadataOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateMetadataOptionsObservation.

func (*LaunchTemplateMetadataOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateMetadataOptionsParameters added in v1.7.0

type LaunchTemplateMetadataOptionsParameters struct {

	// Whether the metadata service is available. Can be "enabled" or "disabled". (Default: "enabled").
	// +kubebuilder:validation:Optional
	HTTPEndpoint *string `json:"httpEndpoint,omitempty" tf:"http_endpoint,omitempty"`

	// Enables or disables the IPv6 endpoint for the instance metadata service. Can be "enabled" or "disabled".
	// +kubebuilder:validation:Optional
	HTTPProtocolIPv6 *string `json:"httpProtocolIpv6,omitempty" tf:"http_protocol_ipv6,omitempty"`

	// The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from 1 to 64. (Default: 1).
	// +kubebuilder:validation:Optional
	HTTPPutResponseHopLimit *float64 `json:"httpPutResponseHopLimit,omitempty" tf:"http_put_response_hop_limit,omitempty"`

	// Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2 (IMDSv2). Can be "optional" or "required". (Default: "optional").
	// +kubebuilder:validation:Optional
	HTTPTokens *string `json:"httpTokens,omitempty" tf:"http_tokens,omitempty"`

	// Enables or disables access to instance tags from the instance metadata service. Can be "enabled" or "disabled".
	// +kubebuilder:validation:Optional
	InstanceMetadataTags *string `json:"instanceMetadataTags,omitempty" tf:"instance_metadata_tags,omitempty"`
}

func (*LaunchTemplateMetadataOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateMetadataOptionsParameters.

func (*LaunchTemplateMetadataOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateObservation added in v1.7.0

type LaunchTemplateObservation struct {

	// ID of the launch template. Conflicts with name.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Name of the launch template. Conflicts with id.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Template version. Can be a specific version number, $Latest or $Default. The default value is $Default.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*LaunchTemplateObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateObservation.

func (*LaunchTemplateObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateObservation_2 added in v1.7.0

type LaunchTemplateObservation_2 struct {

	// Amazon Resource Name (ARN) of the launch template.
	Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`

	// Specify volumes to attach to the instance besides the volumes specified by the AMI.
	// See Block Devices below for details.
	BlockDeviceMappings []BlockDeviceMappingsObservation `json:"blockDeviceMappings,omitempty" tf:"block_device_mappings,omitempty"`

	// The CPU options for the instance. See CPU Options below for more details.
	CPUOptions *LaunchTemplateCPUOptionsObservation `json:"cpuOptions,omitempty" tf:"cpu_options,omitempty"`

	// Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
	CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationObservation `json:"capacityReservationSpecification,omitempty" tf:"capacity_reservation_specification,omitempty"`

	// Customize the credit specification of the instance. See Credit
	// Specification below for more details.
	CreditSpecification *LaunchTemplateCreditSpecificationObservation `json:"creditSpecification,omitempty" tf:"credit_specification,omitempty"`

	// Default Version of the launch template.
	DefaultVersion *float64 `json:"defaultVersion,omitempty" tf:"default_version,omitempty"`

	// Description of the launch template.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// If true, enables EC2 Instance Stop Protection.
	DisableAPIStop *bool `json:"disableApiStop,omitempty" tf:"disable_api_stop,omitempty"`

	// If true, enables EC2 Instance
	// Termination Protection
	DisableAPITermination *bool `json:"disableApiTermination,omitempty" tf:"disable_api_termination,omitempty"`

	// If true, the launched EC2 instance will be EBS-optimized.
	EBSOptimized *string `json:"ebsOptimized,omitempty" tf:"ebs_optimized,omitempty"`

	// The elastic GPU to attach to the instance. See Elastic GPU
	// below for more details.
	ElasticGpuSpecifications []ElasticGpuSpecificationsObservation `json:"elasticGpuSpecifications,omitempty" tf:"elastic_gpu_specifications,omitempty"`

	// Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.
	ElasticInferenceAccelerator *ElasticInferenceAcceleratorObservation `json:"elasticInferenceAccelerator,omitempty" tf:"elastic_inference_accelerator,omitempty"`

	// Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
	EnclaveOptions *LaunchTemplateEnclaveOptionsObservation `json:"enclaveOptions,omitempty" tf:"enclave_options,omitempty"`

	// The hibernation options for the instance. See Hibernation Options below for more details.
	HibernationOptions *HibernationOptionsObservation `json:"hibernationOptions,omitempty" tf:"hibernation_options,omitempty"`

	// The IAM Instance Profile to launch the instance with. See Instance Profile
	// below for more details.
	IAMInstanceProfile *IAMInstanceProfileObservation `json:"iamInstanceProfile,omitempty" tf:"iam_instance_profile,omitempty"`

	// The ID of the launch template.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. resolve:ssm:parameter-name. See docs for more details.
	ImageID *string `json:"imageId,omitempty" tf:"image_id,omitempty"`

	// Shutdown behavior for the instance. Can be stop or terminate.
	// (Default: stop).
	InstanceInitiatedShutdownBehavior *string `json:"instanceInitiatedShutdownBehavior,omitempty" tf:"instance_initiated_shutdown_behavior,omitempty"`

	// The market (purchasing) option for the instance. See Market Options
	// below for details.
	InstanceMarketOptions *LaunchTemplateInstanceMarketOptionsObservation `json:"instanceMarketOptions,omitempty" tf:"instance_market_options,omitempty"`

	// The attribute requirements for the type of instance. If present then instance_type cannot be present.
	InstanceRequirements *InstanceRequirementsObservation `json:"instanceRequirements,omitempty" tf:"instance_requirements,omitempty"`

	// The type of the instance. If present then instance_requirements cannot be present.
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// The kernel ID.
	KernelID *string `json:"kernelId,omitempty" tf:"kernel_id,omitempty"`

	// The key name to use for the instance.
	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	// The latest version of the launch template.
	LatestVersion *float64 `json:"latestVersion,omitempty" tf:"latest_version,omitempty"`

	// A list of license specifications to associate with. See License Specification below for more details.
	LicenseSpecification []LicenseSpecificationObservation `json:"licenseSpecification,omitempty" tf:"license_specification,omitempty"`

	// The maintenance options for the instance. See Maintenance Options below for more details.
	MaintenanceOptions *LaunchTemplateMaintenanceOptionsObservation `json:"maintenanceOptions,omitempty" tf:"maintenance_options,omitempty"`

	// Customize the metadata options for the instance. See Metadata Options below for more details.
	MetadataOptions *LaunchTemplateMetadataOptionsObservation `json:"metadataOptions,omitempty" tf:"metadata_options,omitempty"`

	// The monitoring option for the instance. See Monitoring below for more details.
	Monitoring *MonitoringObservation `json:"monitoring,omitempty" tf:"monitoring,omitempty"`

	// The name of the launch template.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Customize network interfaces to be attached at instance boot time. See Network
	// Interfaces below for more details.
	NetworkInterfaces []NetworkInterfacesObservation `json:"networkInterfaces,omitempty" tf:"network_interfaces,omitempty"`

	// The placement of the instance. See Placement below for more details.
	Placement *PlacementObservation `json:"placement,omitempty" tf:"placement,omitempty"`

	// The options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
	PrivateDNSNameOptions *LaunchTemplatePrivateDNSNameOptionsObservation `json:"privateDnsNameOptions,omitempty" tf:"private_dns_name_options,omitempty"`

	// The ID of the RAM disk.
	RAMDiskID *string `json:"ramDiskId,omitempty" tf:"ram_disk_id,omitempty"`

	// A list of security group names to associate with. If you are creating Instances in a VPC, use
	// vpc_security_group_ids instead.
	// +listType=set
	SecurityGroupNames []*string `json:"securityGroupNames,omitempty" tf:"security_group_names,omitempty"`

	// The tags to apply to the resources during launch. See Tag Specifications below for more details. Default tags are currently not propagated to ASG created resources so you may wish to inject your default tags into this variable against the relevant child resource types created.
	TagSpecifications []TagSpecificationsObservation `json:"tagSpecifications,omitempty" tf:"tag_specifications,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// Whether to update Default Version each update. Conflicts with default_version.
	UpdateDefaultVersion *bool `json:"updateDefaultVersion,omitempty" tf:"update_default_version,omitempty"`

	// The base64-encoded user data to provide when launching the instance.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// A list of security group IDs to associate with. Conflicts with network_interfaces.security_groups
	// +listType=set
	VPCSecurityGroupIds []*string `json:"vpcSecurityGroupIds,omitempty" tf:"vpc_security_group_ids,omitempty"`
}

func (*LaunchTemplateObservation_2) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateObservation_2.

func (*LaunchTemplateObservation_2) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateParameters added in v1.7.0

type LaunchTemplateParameters struct {

	// ID of the launch template. Conflicts with name.
	// +kubebuilder:validation:Optional
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Name of the launch template. Conflicts with id.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Template version. Can be a specific version number, $Latest or $Default. The default value is $Default.
	// +kubebuilder:validation:Optional
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*LaunchTemplateParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateParameters.

func (*LaunchTemplateParameters) DeepCopyInto added in v1.7.0

func (in *LaunchTemplateParameters) DeepCopyInto(out *LaunchTemplateParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateParameters_2 added in v1.7.0

type LaunchTemplateParameters_2 struct {

	// Specify volumes to attach to the instance besides the volumes specified by the AMI.
	// See Block Devices below for details.
	// +kubebuilder:validation:Optional
	BlockDeviceMappings []BlockDeviceMappingsParameters `json:"blockDeviceMappings,omitempty" tf:"block_device_mappings,omitempty"`

	// The CPU options for the instance. See CPU Options below for more details.
	// +kubebuilder:validation:Optional
	CPUOptions *LaunchTemplateCPUOptionsParameters `json:"cpuOptions,omitempty" tf:"cpu_options,omitempty"`

	// Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
	// +kubebuilder:validation:Optional
	CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationParameters `json:"capacityReservationSpecification,omitempty" tf:"capacity_reservation_specification,omitempty"`

	// Customize the credit specification of the instance. See Credit
	// Specification below for more details.
	// +kubebuilder:validation:Optional
	CreditSpecification *LaunchTemplateCreditSpecificationParameters `json:"creditSpecification,omitempty" tf:"credit_specification,omitempty"`

	// Default Version of the launch template.
	// +kubebuilder:validation:Optional
	DefaultVersion *float64 `json:"defaultVersion,omitempty" tf:"default_version,omitempty"`

	// Description of the launch template.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// If true, enables EC2 Instance Stop Protection.
	// +kubebuilder:validation:Optional
	DisableAPIStop *bool `json:"disableApiStop,omitempty" tf:"disable_api_stop,omitempty"`

	// If true, enables EC2 Instance
	// Termination Protection
	// +kubebuilder:validation:Optional
	DisableAPITermination *bool `json:"disableApiTermination,omitempty" tf:"disable_api_termination,omitempty"`

	// If true, the launched EC2 instance will be EBS-optimized.
	// +kubebuilder:validation:Optional
	EBSOptimized *string `json:"ebsOptimized,omitempty" tf:"ebs_optimized,omitempty"`

	// The elastic GPU to attach to the instance. See Elastic GPU
	// below for more details.
	// +kubebuilder:validation:Optional
	ElasticGpuSpecifications []ElasticGpuSpecificationsParameters `json:"elasticGpuSpecifications,omitempty" tf:"elastic_gpu_specifications,omitempty"`

	// Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.
	// +kubebuilder:validation:Optional
	ElasticInferenceAccelerator *ElasticInferenceAcceleratorParameters `json:"elasticInferenceAccelerator,omitempty" tf:"elastic_inference_accelerator,omitempty"`

	// Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
	// +kubebuilder:validation:Optional
	EnclaveOptions *LaunchTemplateEnclaveOptionsParameters `json:"enclaveOptions,omitempty" tf:"enclave_options,omitempty"`

	// The hibernation options for the instance. See Hibernation Options below for more details.
	// +kubebuilder:validation:Optional
	HibernationOptions *HibernationOptionsParameters `json:"hibernationOptions,omitempty" tf:"hibernation_options,omitempty"`

	// The IAM Instance Profile to launch the instance with. See Instance Profile
	// below for more details.
	// +kubebuilder:validation:Optional
	IAMInstanceProfile *IAMInstanceProfileParameters `json:"iamInstanceProfile,omitempty" tf:"iam_instance_profile,omitempty"`

	// The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. resolve:ssm:parameter-name. See docs for more details.
	// +kubebuilder:validation:Optional
	ImageID *string `json:"imageId,omitempty" tf:"image_id,omitempty"`

	// Shutdown behavior for the instance. Can be stop or terminate.
	// (Default: stop).
	// +kubebuilder:validation:Optional
	InstanceInitiatedShutdownBehavior *string `json:"instanceInitiatedShutdownBehavior,omitempty" tf:"instance_initiated_shutdown_behavior,omitempty"`

	// The market (purchasing) option for the instance. See Market Options
	// below for details.
	// +kubebuilder:validation:Optional
	InstanceMarketOptions *LaunchTemplateInstanceMarketOptionsParameters `json:"instanceMarketOptions,omitempty" tf:"instance_market_options,omitempty"`

	// The attribute requirements for the type of instance. If present then instance_type cannot be present.
	// +kubebuilder:validation:Optional
	InstanceRequirements *InstanceRequirementsParameters `json:"instanceRequirements,omitempty" tf:"instance_requirements,omitempty"`

	// The type of the instance. If present then instance_requirements cannot be present.
	// +kubebuilder:validation:Optional
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// The kernel ID.
	// +kubebuilder:validation:Optional
	KernelID *string `json:"kernelId,omitempty" tf:"kernel_id,omitempty"`

	// The key name to use for the instance.
	// +kubebuilder:validation:Optional
	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	// A list of license specifications to associate with. See License Specification below for more details.
	// +kubebuilder:validation:Optional
	LicenseSpecification []LicenseSpecificationParameters `json:"licenseSpecification,omitempty" tf:"license_specification,omitempty"`

	// The maintenance options for the instance. See Maintenance Options below for more details.
	// +kubebuilder:validation:Optional
	MaintenanceOptions *LaunchTemplateMaintenanceOptionsParameters `json:"maintenanceOptions,omitempty" tf:"maintenance_options,omitempty"`

	// Customize the metadata options for the instance. See Metadata Options below for more details.
	// +kubebuilder:validation:Optional
	MetadataOptions *LaunchTemplateMetadataOptionsParameters `json:"metadataOptions,omitempty" tf:"metadata_options,omitempty"`

	// The monitoring option for the instance. See Monitoring below for more details.
	// +kubebuilder:validation:Optional
	Monitoring *MonitoringParameters `json:"monitoring,omitempty" tf:"monitoring,omitempty"`

	// The name of the launch template.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Customize network interfaces to be attached at instance boot time. See Network
	// Interfaces below for more details.
	// +kubebuilder:validation:Optional
	NetworkInterfaces []NetworkInterfacesParameters `json:"networkInterfaces,omitempty" tf:"network_interfaces,omitempty"`

	// The placement of the instance. See Placement below for more details.
	// +kubebuilder:validation:Optional
	Placement *PlacementParameters `json:"placement,omitempty" tf:"placement,omitempty"`

	// The options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
	// +kubebuilder:validation:Optional
	PrivateDNSNameOptions *LaunchTemplatePrivateDNSNameOptionsParameters `json:"privateDnsNameOptions,omitempty" tf:"private_dns_name_options,omitempty"`

	// The ID of the RAM disk.
	// +kubebuilder:validation:Optional
	RAMDiskID *string `json:"ramDiskId,omitempty" tf:"ram_disk_id,omitempty"`

	// Region is the region you'd like your resource to be created in.
	// +upjet:crd:field:TFTag=-
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"-"`

	// References to SecurityGroup in ec2 to populate securityGroupNames.
	// +kubebuilder:validation:Optional
	SecurityGroupNameRefs []v1.Reference `json:"securityGroupNameRefs,omitempty" tf:"-"`

	// Selector for a list of SecurityGroup in ec2 to populate securityGroupNames.
	// +kubebuilder:validation:Optional
	SecurityGroupNameSelector *v1.Selector `json:"securityGroupNameSelector,omitempty" tf:"-"`

	// A list of security group names to associate with. If you are creating Instances in a VPC, use
	// vpc_security_group_ids instead.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup
	// +crossplane:generate:reference:refFieldName=SecurityGroupNameRefs
	// +crossplane:generate:reference:selectorFieldName=SecurityGroupNameSelector
	// +kubebuilder:validation:Optional
	// +listType=set
	SecurityGroupNames []*string `json:"securityGroupNames,omitempty" tf:"security_group_names,omitempty"`

	// The tags to apply to the resources during launch. See Tag Specifications below for more details. Default tags are currently not propagated to ASG created resources so you may wish to inject your default tags into this variable against the relevant child resource types created.
	// +kubebuilder:validation:Optional
	TagSpecifications []TagSpecificationsParameters `json:"tagSpecifications,omitempty" tf:"tag_specifications,omitempty"`

	// Key-value map of resource tags.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Whether to update Default Version each update. Conflicts with default_version.
	// +kubebuilder:validation:Optional
	UpdateDefaultVersion *bool `json:"updateDefaultVersion,omitempty" tf:"update_default_version,omitempty"`

	// The base64-encoded user data to provide when launching the instance.
	// +kubebuilder:validation:Optional
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.
	// +kubebuilder:validation:Optional
	VPCSecurityGroupIDRefs []v1.Reference `json:"vpcSecurityGroupIdRefs,omitempty" tf:"-"`

	// Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.
	// +kubebuilder:validation:Optional
	VPCSecurityGroupIDSelector *v1.Selector `json:"vpcSecurityGroupIdSelector,omitempty" tf:"-"`

	// A list of security group IDs to associate with. Conflicts with network_interfaces.security_groups
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup
	// +crossplane:generate:reference:refFieldName=VPCSecurityGroupIDRefs
	// +crossplane:generate:reference:selectorFieldName=VPCSecurityGroupIDSelector
	// +kubebuilder:validation:Optional
	// +listType=set
	VPCSecurityGroupIds []*string `json:"vpcSecurityGroupIds,omitempty" tf:"vpc_security_group_ids,omitempty"`
}

func (*LaunchTemplateParameters_2) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateParameters_2.

func (*LaunchTemplateParameters_2) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplatePrivateDNSNameOptionsInitParameters added in v1.7.0

type LaunchTemplatePrivateDNSNameOptionsInitParameters struct {

	// Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
	EnableResourceNameDNSARecord *bool `json:"enableResourceNameDnsARecord,omitempty" tf:"enable_resource_name_dns_a_record,omitempty"`

	// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.
	EnableResourceNameDNSAaaaRecord *bool `json:"enableResourceNameDnsAaaaRecord,omitempty" tf:"enable_resource_name_dns_aaaa_record,omitempty"`

	// The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: ip-name and resource-name.
	HostnameType *string `json:"hostnameType,omitempty" tf:"hostname_type,omitempty"`
}

func (*LaunchTemplatePrivateDNSNameOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplatePrivateDNSNameOptionsInitParameters.

func (*LaunchTemplatePrivateDNSNameOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplatePrivateDNSNameOptionsObservation added in v1.7.0

type LaunchTemplatePrivateDNSNameOptionsObservation struct {

	// Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
	EnableResourceNameDNSARecord *bool `json:"enableResourceNameDnsARecord,omitempty" tf:"enable_resource_name_dns_a_record,omitempty"`

	// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.
	EnableResourceNameDNSAaaaRecord *bool `json:"enableResourceNameDnsAaaaRecord,omitempty" tf:"enable_resource_name_dns_aaaa_record,omitempty"`

	// The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: ip-name and resource-name.
	HostnameType *string `json:"hostnameType,omitempty" tf:"hostname_type,omitempty"`
}

func (*LaunchTemplatePrivateDNSNameOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplatePrivateDNSNameOptionsObservation.

func (*LaunchTemplatePrivateDNSNameOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplatePrivateDNSNameOptionsParameters added in v1.7.0

type LaunchTemplatePrivateDNSNameOptionsParameters struct {

	// Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
	// +kubebuilder:validation:Optional
	EnableResourceNameDNSARecord *bool `json:"enableResourceNameDnsARecord,omitempty" tf:"enable_resource_name_dns_a_record,omitempty"`

	// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.
	// +kubebuilder:validation:Optional
	EnableResourceNameDNSAaaaRecord *bool `json:"enableResourceNameDnsAaaaRecord,omitempty" tf:"enable_resource_name_dns_aaaa_record,omitempty"`

	// The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: ip-name and resource-name.
	// +kubebuilder:validation:Optional
	HostnameType *string `json:"hostnameType,omitempty" tf:"hostname_type,omitempty"`
}

func (*LaunchTemplatePrivateDNSNameOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplatePrivateDNSNameOptionsParameters.

func (*LaunchTemplatePrivateDNSNameOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateSpec added in v1.7.0

type LaunchTemplateSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     LaunchTemplateParameters_2 `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider LaunchTemplateInitParameters_2 `json:"initProvider,omitempty"`
}

LaunchTemplateSpec defines the desired state of LaunchTemplate

func (*LaunchTemplateSpec) DeepCopy added in v1.7.0

func (in *LaunchTemplateSpec) DeepCopy() *LaunchTemplateSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateSpec.

func (*LaunchTemplateSpec) DeepCopyInto added in v1.7.0

func (in *LaunchTemplateSpec) DeepCopyInto(out *LaunchTemplateSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateSpecificationInitParameters added in v1.7.0

type LaunchTemplateSpecificationInitParameters struct {

	// The ID of the launch template. Conflicts with name.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.LaunchTemplate
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Reference to a LaunchTemplate in ec2 to populate id.
	// +kubebuilder:validation:Optional
	IDRef *v1.Reference `json:"idRef,omitempty" tf:"-"`

	// Selector for a LaunchTemplate in ec2 to populate id.
	// +kubebuilder:validation:Optional
	IDSelector *v1.Selector `json:"idSelector,omitempty" tf:"-"`

	// The name of the launch template. Conflicts with id.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Template version. Unlike the autoscaling equivalent, does not support $Latest or $Default, so use the launch_template resource's attribute, e.g., "${aws_launch_template.foo.latest_version}". It will use the default version if omitted.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.LaunchTemplate
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("latest_version",true)
	Version *string `json:"version,omitempty" tf:"version,omitempty"`

	// Reference to a LaunchTemplate in ec2 to populate version.
	// +kubebuilder:validation:Optional
	VersionRef *v1.Reference `json:"versionRef,omitempty" tf:"-"`

	// Selector for a LaunchTemplate in ec2 to populate version.
	// +kubebuilder:validation:Optional
	VersionSelector *v1.Selector `json:"versionSelector,omitempty" tf:"-"`
}

func (*LaunchTemplateSpecificationInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateSpecificationInitParameters.

func (*LaunchTemplateSpecificationInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateSpecificationObservation added in v1.7.0

type LaunchTemplateSpecificationObservation struct {

	// The ID of the launch template. Conflicts with name.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The name of the launch template. Conflicts with id.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Template version. Unlike the autoscaling equivalent, does not support $Latest or $Default, so use the launch_template resource's attribute, e.g., "${aws_launch_template.foo.latest_version}". It will use the default version if omitted.
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*LaunchTemplateSpecificationObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateSpecificationObservation.

func (*LaunchTemplateSpecificationObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateSpecificationParameters added in v1.7.0

type LaunchTemplateSpecificationParameters struct {

	// The ID of the launch template. Conflicts with name.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.LaunchTemplate
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Reference to a LaunchTemplate in ec2 to populate id.
	// +kubebuilder:validation:Optional
	IDRef *v1.Reference `json:"idRef,omitempty" tf:"-"`

	// Selector for a LaunchTemplate in ec2 to populate id.
	// +kubebuilder:validation:Optional
	IDSelector *v1.Selector `json:"idSelector,omitempty" tf:"-"`

	// The name of the launch template. Conflicts with id.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Template version. Unlike the autoscaling equivalent, does not support $Latest or $Default, so use the launch_template resource's attribute, e.g., "${aws_launch_template.foo.latest_version}". It will use the default version if omitted.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.LaunchTemplate
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("latest_version",true)
	// +kubebuilder:validation:Optional
	Version *string `json:"version,omitempty" tf:"version,omitempty"`

	// Reference to a LaunchTemplate in ec2 to populate version.
	// +kubebuilder:validation:Optional
	VersionRef *v1.Reference `json:"versionRef,omitempty" tf:"-"`

	// Selector for a LaunchTemplate in ec2 to populate version.
	// +kubebuilder:validation:Optional
	VersionSelector *v1.Selector `json:"versionSelector,omitempty" tf:"-"`
}

func (*LaunchTemplateSpecificationParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateSpecificationParameters.

func (*LaunchTemplateSpecificationParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateStatus added in v1.7.0

type LaunchTemplateStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        LaunchTemplateObservation_2 `json:"atProvider,omitempty"`
}

LaunchTemplateStatus defines the observed state of LaunchTemplate.

func (*LaunchTemplateStatus) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateStatus.

func (*LaunchTemplateStatus) DeepCopyInto added in v1.7.0

func (in *LaunchTemplateStatus) DeepCopyInto(out *LaunchTemplateStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LicenseSpecificationInitParameters added in v1.7.0

type LicenseSpecificationInitParameters struct {

	// ARN of the license configuration.
	LicenseConfigurationArn *string `json:"licenseConfigurationArn,omitempty" tf:"license_configuration_arn,omitempty"`
}

func (*LicenseSpecificationInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LicenseSpecificationInitParameters.

func (*LicenseSpecificationInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LicenseSpecificationObservation added in v1.7.0

type LicenseSpecificationObservation struct {

	// ARN of the license configuration.
	LicenseConfigurationArn *string `json:"licenseConfigurationArn,omitempty" tf:"license_configuration_arn,omitempty"`
}

func (*LicenseSpecificationObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LicenseSpecificationObservation.

func (*LicenseSpecificationObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LicenseSpecificationParameters added in v1.7.0

type LicenseSpecificationParameters struct {

	// ARN of the license configuration.
	// +kubebuilder:validation:Optional
	LicenseConfigurationArn *string `json:"licenseConfigurationArn" tf:"license_configuration_arn,omitempty"`
}

func (*LicenseSpecificationParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LicenseSpecificationParameters.

func (*LicenseSpecificationParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MaintenanceOptionsInitParameters added in v1.7.0

type MaintenanceOptionsInitParameters struct {

	// Automatic recovery behavior of the Instance. Can be "default" or "disabled". See Recover your instance for more details.
	AutoRecovery *string `json:"autoRecovery,omitempty" tf:"auto_recovery,omitempty"`
}

func (*MaintenanceOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceOptionsInitParameters.

func (*MaintenanceOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MaintenanceOptionsObservation added in v1.7.0

type MaintenanceOptionsObservation struct {

	// Automatic recovery behavior of the Instance. Can be "default" or "disabled". See Recover your instance for more details.
	AutoRecovery *string `json:"autoRecovery,omitempty" tf:"auto_recovery,omitempty"`
}

func (*MaintenanceOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceOptionsObservation.

func (*MaintenanceOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MaintenanceOptionsParameters added in v1.7.0

type MaintenanceOptionsParameters struct {

	// Automatic recovery behavior of the Instance. Can be "default" or "disabled". See Recover your instance for more details.
	// +kubebuilder:validation:Optional
	AutoRecovery *string `json:"autoRecovery,omitempty" tf:"auto_recovery,omitempty"`
}

func (*MaintenanceOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceOptionsParameters.

func (*MaintenanceOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MemoryGibPerVcpuInitParameters added in v1.7.0

type MemoryGibPerVcpuInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*MemoryGibPerVcpuInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryGibPerVcpuInitParameters.

func (*MemoryGibPerVcpuInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MemoryGibPerVcpuObservation added in v1.7.0

type MemoryGibPerVcpuObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*MemoryGibPerVcpuObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryGibPerVcpuObservation.

func (*MemoryGibPerVcpuObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MemoryGibPerVcpuParameters added in v1.7.0

type MemoryGibPerVcpuParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*MemoryGibPerVcpuParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryGibPerVcpuParameters.

func (*MemoryGibPerVcpuParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MemoryMibInitParameters added in v1.7.0

type MemoryMibInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*MemoryMibInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryMibInitParameters.

func (*MemoryMibInitParameters) DeepCopyInto added in v1.7.0

func (in *MemoryMibInitParameters) DeepCopyInto(out *MemoryMibInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MemoryMibObservation added in v1.7.0

type MemoryMibObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*MemoryMibObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryMibObservation.

func (*MemoryMibObservation) DeepCopyInto added in v1.7.0

func (in *MemoryMibObservation) DeepCopyInto(out *MemoryMibObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MemoryMibParameters added in v1.7.0

type MemoryMibParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min" tf:"min,omitempty"`
}

func (*MemoryMibParameters) DeepCopy added in v1.7.0

func (in *MemoryMibParameters) DeepCopy() *MemoryMibParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryMibParameters.

func (*MemoryMibParameters) DeepCopyInto added in v1.7.0

func (in *MemoryMibParameters) DeepCopyInto(out *MemoryMibParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataOptionsInitParameters added in v1.7.0

type MetadataOptionsInitParameters struct {

	// Whether the metadata service is available. Valid values include enabled or disabled. Defaults to enabled.
	HTTPEndpoint *string `json:"httpEndpoint,omitempty" tf:"http_endpoint,omitempty"`

	// Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to disabled.
	HTTPProtocolIPv6 *string `json:"httpProtocolIpv6,omitempty" tf:"http_protocol_ipv6,omitempty"`

	// Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from 1 to 64. Defaults to 1.
	HTTPPutResponseHopLimit *float64 `json:"httpPutResponseHopLimit,omitempty" tf:"http_put_response_hop_limit,omitempty"`

	// Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2 (IMDSv2). Valid values include optional or required.
	HTTPTokens *string `json:"httpTokens,omitempty" tf:"http_tokens,omitempty"`

	// Enables or disables access to instance tags from the instance metadata service. Valid values include enabled or disabled. Defaults to disabled.
	InstanceMetadataTags *string `json:"instanceMetadataTags,omitempty" tf:"instance_metadata_tags,omitempty"`
}

func (*MetadataOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataOptionsInitParameters.

func (*MetadataOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataOptionsObservation added in v1.7.0

type MetadataOptionsObservation struct {

	// Whether the metadata service is available. Valid values include enabled or disabled. Defaults to enabled.
	HTTPEndpoint *string `json:"httpEndpoint,omitempty" tf:"http_endpoint,omitempty"`

	// Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to disabled.
	HTTPProtocolIPv6 *string `json:"httpProtocolIpv6,omitempty" tf:"http_protocol_ipv6,omitempty"`

	// Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from 1 to 64. Defaults to 1.
	HTTPPutResponseHopLimit *float64 `json:"httpPutResponseHopLimit,omitempty" tf:"http_put_response_hop_limit,omitempty"`

	// Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2 (IMDSv2). Valid values include optional or required.
	HTTPTokens *string `json:"httpTokens,omitempty" tf:"http_tokens,omitempty"`

	// Enables or disables access to instance tags from the instance metadata service. Valid values include enabled or disabled. Defaults to disabled.
	InstanceMetadataTags *string `json:"instanceMetadataTags,omitempty" tf:"instance_metadata_tags,omitempty"`
}

func (*MetadataOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataOptionsObservation.

func (*MetadataOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataOptionsParameters added in v1.7.0

type MetadataOptionsParameters struct {

	// Whether the metadata service is available. Valid values include enabled or disabled. Defaults to enabled.
	// +kubebuilder:validation:Optional
	HTTPEndpoint *string `json:"httpEndpoint,omitempty" tf:"http_endpoint,omitempty"`

	// Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to disabled.
	// +kubebuilder:validation:Optional
	HTTPProtocolIPv6 *string `json:"httpProtocolIpv6,omitempty" tf:"http_protocol_ipv6,omitempty"`

	// Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from 1 to 64. Defaults to 1.
	// +kubebuilder:validation:Optional
	HTTPPutResponseHopLimit *float64 `json:"httpPutResponseHopLimit,omitempty" tf:"http_put_response_hop_limit,omitempty"`

	// Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2 (IMDSv2). Valid values include optional or required.
	// +kubebuilder:validation:Optional
	HTTPTokens *string `json:"httpTokens,omitempty" tf:"http_tokens,omitempty"`

	// Enables or disables access to instance tags from the instance metadata service. Valid values include enabled or disabled. Defaults to disabled.
	// +kubebuilder:validation:Optional
	InstanceMetadataTags *string `json:"instanceMetadataTags,omitempty" tf:"instance_metadata_tags,omitempty"`
}

func (*MetadataOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataOptionsParameters.

func (*MetadataOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MonitoringInitParameters added in v1.7.0

type MonitoringInitParameters struct {

	// If true, the launched EC2 instance will have detailed monitoring enabled.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`
}

func (*MonitoringInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringInitParameters.

func (*MonitoringInitParameters) DeepCopyInto added in v1.7.0

func (in *MonitoringInitParameters) DeepCopyInto(out *MonitoringInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MonitoringObservation added in v1.7.0

type MonitoringObservation struct {

	// If true, the launched EC2 instance will have detailed monitoring enabled.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`
}

func (*MonitoringObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringObservation.

func (*MonitoringObservation) DeepCopyInto added in v1.7.0

func (in *MonitoringObservation) DeepCopyInto(out *MonitoringObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MonitoringParameters added in v1.7.0

type MonitoringParameters struct {

	// If true, the launched EC2 instance will have detailed monitoring enabled.
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`
}

func (*MonitoringParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringParameters.

func (*MonitoringParameters) DeepCopyInto added in v1.7.0

func (in *MonitoringParameters) DeepCopyInto(out *MonitoringParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkBandwidthGbpsInitParameters added in v1.7.0

type NetworkBandwidthGbpsInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*NetworkBandwidthGbpsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkBandwidthGbpsInitParameters.

func (*NetworkBandwidthGbpsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkBandwidthGbpsObservation added in v1.7.0

type NetworkBandwidthGbpsObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*NetworkBandwidthGbpsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkBandwidthGbpsObservation.

func (*NetworkBandwidthGbpsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkBandwidthGbpsParameters added in v1.7.0

type NetworkBandwidthGbpsParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*NetworkBandwidthGbpsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkBandwidthGbpsParameters.

func (*NetworkBandwidthGbpsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceCountInitParameters added in v1.7.0

type NetworkInterfaceCountInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*NetworkInterfaceCountInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceCountInitParameters.

func (*NetworkInterfaceCountInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceCountObservation added in v1.7.0

type NetworkInterfaceCountObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*NetworkInterfaceCountObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceCountObservation.

func (*NetworkInterfaceCountObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceCountParameters added in v1.7.0

type NetworkInterfaceCountParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*NetworkInterfaceCountParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceCountParameters.

func (*NetworkInterfaceCountParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceInitParameters added in v1.7.0

type NetworkInterfaceInitParameters struct {

	// Whether or not to delete the network interface on instance termination. Defaults to false. Currently, the only valid value is false, as this is only supported when creating new network interfaces when launching an instance.
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// Integer index of the network interface attachment. Limited by instance type.
	DeviceIndex *float64 `json:"deviceIndex,omitempty" tf:"device_index,omitempty"`

	// Integer index of the network card. Limited by instance type. The default index is 0.
	NetworkCardIndex *float64 `json:"networkCardIndex,omitempty" tf:"network_card_index,omitempty"`

	// ID of the network interface to attach.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.NetworkInterface
	NetworkInterfaceID *string `json:"networkInterfaceId,omitempty" tf:"network_interface_id,omitempty"`

	// Reference to a NetworkInterface in ec2 to populate networkInterfaceId.
	// +kubebuilder:validation:Optional
	NetworkInterfaceIDRef *v1.Reference `json:"networkInterfaceIdRef,omitempty" tf:"-"`

	// Selector for a NetworkInterface in ec2 to populate networkInterfaceId.
	// +kubebuilder:validation:Optional
	NetworkInterfaceIDSelector *v1.Selector `json:"networkInterfaceIdSelector,omitempty" tf:"-"`
}

func (*NetworkInterfaceInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceInitParameters.

func (*NetworkInterfaceInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceObservation added in v1.7.0

type NetworkInterfaceObservation struct {

	// Whether or not to delete the network interface on instance termination. Defaults to false. Currently, the only valid value is false, as this is only supported when creating new network interfaces when launching an instance.
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// Integer index of the network interface attachment. Limited by instance type.
	DeviceIndex *float64 `json:"deviceIndex,omitempty" tf:"device_index,omitempty"`

	// Integer index of the network card. Limited by instance type. The default index is 0.
	NetworkCardIndex *float64 `json:"networkCardIndex,omitempty" tf:"network_card_index,omitempty"`

	// ID of the network interface to attach.
	NetworkInterfaceID *string `json:"networkInterfaceId,omitempty" tf:"network_interface_id,omitempty"`
}

func (*NetworkInterfaceObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceObservation.

func (*NetworkInterfaceObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceParameters added in v1.7.0

type NetworkInterfaceParameters struct {

	// Whether or not to delete the network interface on instance termination. Defaults to false. Currently, the only valid value is false, as this is only supported when creating new network interfaces when launching an instance.
	// +kubebuilder:validation:Optional
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// Integer index of the network interface attachment. Limited by instance type.
	// +kubebuilder:validation:Optional
	DeviceIndex *float64 `json:"deviceIndex" tf:"device_index,omitempty"`

	// Integer index of the network card. Limited by instance type. The default index is 0.
	// +kubebuilder:validation:Optional
	NetworkCardIndex *float64 `json:"networkCardIndex,omitempty" tf:"network_card_index,omitempty"`

	// ID of the network interface to attach.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.NetworkInterface
	// +kubebuilder:validation:Optional
	NetworkInterfaceID *string `json:"networkInterfaceId,omitempty" tf:"network_interface_id,omitempty"`

	// Reference to a NetworkInterface in ec2 to populate networkInterfaceId.
	// +kubebuilder:validation:Optional
	NetworkInterfaceIDRef *v1.Reference `json:"networkInterfaceIdRef,omitempty" tf:"-"`

	// Selector for a NetworkInterface in ec2 to populate networkInterfaceId.
	// +kubebuilder:validation:Optional
	NetworkInterfaceIDSelector *v1.Selector `json:"networkInterfaceIdSelector,omitempty" tf:"-"`
}

func (*NetworkInterfaceParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceParameters.

func (*NetworkInterfaceParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfacesInitParameters added in v1.7.0

type NetworkInterfacesInitParameters struct {

	// Associate a Carrier IP address with eth0 for a new network interface.
	// Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface.
	// Boolean value, can be left unset.
	AssociateCarrierIPAddress *string `json:"associateCarrierIpAddress,omitempty" tf:"associate_carrier_ip_address,omitempty"`

	// Associate a public ip address with the network interface.
	// Boolean value, can be left unset.
	AssociatePublicIPAddress *string `json:"associatePublicIpAddress,omitempty" tf:"associate_public_ip_address,omitempty"`

	// Whether the network interface should be destroyed on instance termination.
	DeleteOnTermination *string `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// Description of the network interface.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The integer index of the network interface attachment.
	DeviceIndex *float64 `json:"deviceIndex,omitempty" tf:"device_index,omitempty"`

	// The number of secondary private IPv4 addresses to assign to a network interface. Conflicts with ipv4_addresses
	IPv4AddressCount *float64 `json:"ipv4AddressCount,omitempty" tf:"ipv4_address_count,omitempty"`

	// One or more private IPv4 addresses to associate. Conflicts with ipv4_address_count
	// +listType=set
	IPv4Addresses []*string `json:"ipv4Addresses,omitempty" tf:"ipv4_addresses,omitempty"`

	// The number of IPv4 prefixes to be automatically assigned to the network interface. Conflicts with ipv4_prefixes
	IPv4PrefixCount *float64 `json:"ipv4PrefixCount,omitempty" tf:"ipv4_prefix_count,omitempty"`

	// One or more IPv4 prefixes to be assigned to the network interface. Conflicts with ipv4_prefix_count
	// +listType=set
	IPv4Prefixes []*string `json:"ipv4Prefixes,omitempty" tf:"ipv4_prefixes,omitempty"`

	// The number of IPv6 addresses to assign to a network interface. Conflicts with ipv6_addresses
	IPv6AddressCount *float64 `json:"ipv6AddressCount,omitempty" tf:"ipv6_address_count,omitempty"`

	// One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Conflicts with ipv6_address_count
	// +listType=set
	IPv6Addresses []*string `json:"ipv6Addresses,omitempty" tf:"ipv6_addresses,omitempty"`

	// The number of IPv6 prefixes to be automatically assigned to the network interface. Conflicts with ipv6_prefixes
	IPv6PrefixCount *float64 `json:"ipv6PrefixCount,omitempty" tf:"ipv6_prefix_count,omitempty"`

	// One or more IPv6 prefixes to be assigned to the network interface. Conflicts with ipv6_prefix_count
	// +listType=set
	IPv6Prefixes []*string `json:"ipv6Prefixes,omitempty" tf:"ipv6_prefixes,omitempty"`

	// The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa.
	InterfaceType *string `json:"interfaceType,omitempty" tf:"interface_type,omitempty"`

	// The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0.
	NetworkCardIndex *float64 `json:"networkCardIndex,omitempty" tf:"network_card_index,omitempty"`

	// The ID of the network interface to attach.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.NetworkInterface
	NetworkInterfaceID *string `json:"networkInterfaceId,omitempty" tf:"network_interface_id,omitempty"`

	// Reference to a NetworkInterface in ec2 to populate networkInterfaceId.
	// +kubebuilder:validation:Optional
	NetworkInterfaceIDRef *v1.Reference `json:"networkInterfaceIdRef,omitempty" tf:"-"`

	// Selector for a NetworkInterface in ec2 to populate networkInterfaceId.
	// +kubebuilder:validation:Optional
	NetworkInterfaceIDSelector *v1.Selector `json:"networkInterfaceIdSelector,omitempty" tf:"-"`

	// Whether the first IPv6 GUA will be made the primary IPv6 address.
	PrimaryIPv6 *string `json:"primaryIpv6,omitempty" tf:"primary_ipv6,omitempty"`

	// The primary private IPv4 address.
	PrivateIPAddress *string `json:"privateIpAddress,omitempty" tf:"private_ip_address,omitempty"`

	// References to SecurityGroup in ec2 to populate securityGroups.
	// +kubebuilder:validation:Optional
	SecurityGroupRefs []v1.Reference `json:"securityGroupRefs,omitempty" tf:"-"`

	// Selector for a list of SecurityGroup in ec2 to populate securityGroups.
	// +kubebuilder:validation:Optional
	SecurityGroupSelector *v1.Selector `json:"securityGroupSelector,omitempty" tf:"-"`

	// A list of security group IDs to associate.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup
	// +crossplane:generate:reference:refFieldName=SecurityGroupRefs
	// +crossplane:generate:reference:selectorFieldName=SecurityGroupSelector
	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// The VPC Subnet ID to associate.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.Subnet
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in ec2 to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in ec2 to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`
}

func (*NetworkInterfacesInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfacesInitParameters.

func (*NetworkInterfacesInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfacesObservation added in v1.7.0

type NetworkInterfacesObservation struct {

	// Associate a Carrier IP address with eth0 for a new network interface.
	// Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface.
	// Boolean value, can be left unset.
	AssociateCarrierIPAddress *string `json:"associateCarrierIpAddress,omitempty" tf:"associate_carrier_ip_address,omitempty"`

	// Associate a public ip address with the network interface.
	// Boolean value, can be left unset.
	AssociatePublicIPAddress *string `json:"associatePublicIpAddress,omitempty" tf:"associate_public_ip_address,omitempty"`

	// Whether the network interface should be destroyed on instance termination.
	DeleteOnTermination *string `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// Description of the network interface.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The integer index of the network interface attachment.
	DeviceIndex *float64 `json:"deviceIndex,omitempty" tf:"device_index,omitempty"`

	// The number of secondary private IPv4 addresses to assign to a network interface. Conflicts with ipv4_addresses
	IPv4AddressCount *float64 `json:"ipv4AddressCount,omitempty" tf:"ipv4_address_count,omitempty"`

	// One or more private IPv4 addresses to associate. Conflicts with ipv4_address_count
	// +listType=set
	IPv4Addresses []*string `json:"ipv4Addresses,omitempty" tf:"ipv4_addresses,omitempty"`

	// The number of IPv4 prefixes to be automatically assigned to the network interface. Conflicts with ipv4_prefixes
	IPv4PrefixCount *float64 `json:"ipv4PrefixCount,omitempty" tf:"ipv4_prefix_count,omitempty"`

	// One or more IPv4 prefixes to be assigned to the network interface. Conflicts with ipv4_prefix_count
	// +listType=set
	IPv4Prefixes []*string `json:"ipv4Prefixes,omitempty" tf:"ipv4_prefixes,omitempty"`

	// The number of IPv6 addresses to assign to a network interface. Conflicts with ipv6_addresses
	IPv6AddressCount *float64 `json:"ipv6AddressCount,omitempty" tf:"ipv6_address_count,omitempty"`

	// One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Conflicts with ipv6_address_count
	// +listType=set
	IPv6Addresses []*string `json:"ipv6Addresses,omitempty" tf:"ipv6_addresses,omitempty"`

	// The number of IPv6 prefixes to be automatically assigned to the network interface. Conflicts with ipv6_prefixes
	IPv6PrefixCount *float64 `json:"ipv6PrefixCount,omitempty" tf:"ipv6_prefix_count,omitempty"`

	// One or more IPv6 prefixes to be assigned to the network interface. Conflicts with ipv6_prefix_count
	// +listType=set
	IPv6Prefixes []*string `json:"ipv6Prefixes,omitempty" tf:"ipv6_prefixes,omitempty"`

	// The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa.
	InterfaceType *string `json:"interfaceType,omitempty" tf:"interface_type,omitempty"`

	// The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0.
	NetworkCardIndex *float64 `json:"networkCardIndex,omitempty" tf:"network_card_index,omitempty"`

	// The ID of the network interface to attach.
	NetworkInterfaceID *string `json:"networkInterfaceId,omitempty" tf:"network_interface_id,omitempty"`

	// Whether the first IPv6 GUA will be made the primary IPv6 address.
	PrimaryIPv6 *string `json:"primaryIpv6,omitempty" tf:"primary_ipv6,omitempty"`

	// The primary private IPv4 address.
	PrivateIPAddress *string `json:"privateIpAddress,omitempty" tf:"private_ip_address,omitempty"`

	// A list of security group IDs to associate.
	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// The VPC Subnet ID to associate.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`
}

func (*NetworkInterfacesObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfacesObservation.

func (*NetworkInterfacesObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfacesParameters added in v1.7.0

type NetworkInterfacesParameters struct {

	// Associate a Carrier IP address with eth0 for a new network interface.
	// Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface.
	// Boolean value, can be left unset.
	// +kubebuilder:validation:Optional
	AssociateCarrierIPAddress *string `json:"associateCarrierIpAddress,omitempty" tf:"associate_carrier_ip_address,omitempty"`

	// Associate a public ip address with the network interface.
	// Boolean value, can be left unset.
	// +kubebuilder:validation:Optional
	AssociatePublicIPAddress *string `json:"associatePublicIpAddress,omitempty" tf:"associate_public_ip_address,omitempty"`

	// Whether the network interface should be destroyed on instance termination.
	// +kubebuilder:validation:Optional
	DeleteOnTermination *string `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// Description of the network interface.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The integer index of the network interface attachment.
	// +kubebuilder:validation:Optional
	DeviceIndex *float64 `json:"deviceIndex,omitempty" tf:"device_index,omitempty"`

	// The number of secondary private IPv4 addresses to assign to a network interface. Conflicts with ipv4_addresses
	// +kubebuilder:validation:Optional
	IPv4AddressCount *float64 `json:"ipv4AddressCount,omitempty" tf:"ipv4_address_count,omitempty"`

	// One or more private IPv4 addresses to associate. Conflicts with ipv4_address_count
	// +kubebuilder:validation:Optional
	// +listType=set
	IPv4Addresses []*string `json:"ipv4Addresses,omitempty" tf:"ipv4_addresses,omitempty"`

	// The number of IPv4 prefixes to be automatically assigned to the network interface. Conflicts with ipv4_prefixes
	// +kubebuilder:validation:Optional
	IPv4PrefixCount *float64 `json:"ipv4PrefixCount,omitempty" tf:"ipv4_prefix_count,omitempty"`

	// One or more IPv4 prefixes to be assigned to the network interface. Conflicts with ipv4_prefix_count
	// +kubebuilder:validation:Optional
	// +listType=set
	IPv4Prefixes []*string `json:"ipv4Prefixes,omitempty" tf:"ipv4_prefixes,omitempty"`

	// The number of IPv6 addresses to assign to a network interface. Conflicts with ipv6_addresses
	// +kubebuilder:validation:Optional
	IPv6AddressCount *float64 `json:"ipv6AddressCount,omitempty" tf:"ipv6_address_count,omitempty"`

	// One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Conflicts with ipv6_address_count
	// +kubebuilder:validation:Optional
	// +listType=set
	IPv6Addresses []*string `json:"ipv6Addresses,omitempty" tf:"ipv6_addresses,omitempty"`

	// The number of IPv6 prefixes to be automatically assigned to the network interface. Conflicts with ipv6_prefixes
	// +kubebuilder:validation:Optional
	IPv6PrefixCount *float64 `json:"ipv6PrefixCount,omitempty" tf:"ipv6_prefix_count,omitempty"`

	// One or more IPv6 prefixes to be assigned to the network interface. Conflicts with ipv6_prefix_count
	// +kubebuilder:validation:Optional
	// +listType=set
	IPv6Prefixes []*string `json:"ipv6Prefixes,omitempty" tf:"ipv6_prefixes,omitempty"`

	// The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa.
	// +kubebuilder:validation:Optional
	InterfaceType *string `json:"interfaceType,omitempty" tf:"interface_type,omitempty"`

	// The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0.
	// +kubebuilder:validation:Optional
	NetworkCardIndex *float64 `json:"networkCardIndex,omitempty" tf:"network_card_index,omitempty"`

	// The ID of the network interface to attach.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.NetworkInterface
	// +kubebuilder:validation:Optional
	NetworkInterfaceID *string `json:"networkInterfaceId,omitempty" tf:"network_interface_id,omitempty"`

	// Reference to a NetworkInterface in ec2 to populate networkInterfaceId.
	// +kubebuilder:validation:Optional
	NetworkInterfaceIDRef *v1.Reference `json:"networkInterfaceIdRef,omitempty" tf:"-"`

	// Selector for a NetworkInterface in ec2 to populate networkInterfaceId.
	// +kubebuilder:validation:Optional
	NetworkInterfaceIDSelector *v1.Selector `json:"networkInterfaceIdSelector,omitempty" tf:"-"`

	// Whether the first IPv6 GUA will be made the primary IPv6 address.
	// +kubebuilder:validation:Optional
	PrimaryIPv6 *string `json:"primaryIpv6,omitempty" tf:"primary_ipv6,omitempty"`

	// The primary private IPv4 address.
	// +kubebuilder:validation:Optional
	PrivateIPAddress *string `json:"privateIpAddress,omitempty" tf:"private_ip_address,omitempty"`

	// References to SecurityGroup in ec2 to populate securityGroups.
	// +kubebuilder:validation:Optional
	SecurityGroupRefs []v1.Reference `json:"securityGroupRefs,omitempty" tf:"-"`

	// Selector for a list of SecurityGroup in ec2 to populate securityGroups.
	// +kubebuilder:validation:Optional
	SecurityGroupSelector *v1.Selector `json:"securityGroupSelector,omitempty" tf:"-"`

	// A list of security group IDs to associate.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup
	// +crossplane:generate:reference:refFieldName=SecurityGroupRefs
	// +crossplane:generate:reference:selectorFieldName=SecurityGroupSelector
	// +kubebuilder:validation:Optional
	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// The VPC Subnet ID to associate.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.Subnet
	// +kubebuilder:validation:Optional
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in ec2 to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in ec2 to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`
}

func (*NetworkInterfacesParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfacesParameters.

func (*NetworkInterfacesParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OverridesInitParameters added in v1.7.0

type OverridesInitParameters struct {

	// The availability zone in which to place the request.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// The instance requirements. See below.
	InstanceRequirements *OverridesInstanceRequirementsInitParameters `json:"instanceRequirements,omitempty" tf:"instance_requirements,omitempty"`

	// The type of instance to request.
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// The priority for the launch template override. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority.
	Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"`

	// The maximum bid price per unit hour.
	SpotPrice *string `json:"spotPrice,omitempty" tf:"spot_price,omitempty"`

	// The subnet in which to launch the requested instance.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// The capacity added to the fleet by a fulfilled request.
	WeightedCapacity *float64 `json:"weightedCapacity,omitempty" tf:"weighted_capacity,omitempty"`
}

func (*OverridesInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverridesInitParameters.

func (*OverridesInitParameters) DeepCopyInto added in v1.7.0

func (in *OverridesInitParameters) DeepCopyInto(out *OverridesInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OverridesInstanceRequirementsInitParameters added in v1.7.0

type OverridesInstanceRequirementsInitParameters struct {

	// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
	AcceleratorCount *InstanceRequirementsAcceleratorCountInitParameters `json:"acceleratorCount,omitempty" tf:"accelerator_count,omitempty"`

	// List of accelerator manufacturer names. Default is any manufacturer.
	// +listType=set
	AcceleratorManufacturers []*string `json:"acceleratorManufacturers,omitempty" tf:"accelerator_manufacturers,omitempty"`

	// List of accelerator names. Default is any acclerator.
	// +listType=set
	AcceleratorNames []*string `json:"acceleratorNames,omitempty" tf:"accelerator_names,omitempty"`

	// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
	AcceleratorTotalMemoryMib *InstanceRequirementsAcceleratorTotalMemoryMibInitParameters `json:"acceleratorTotalMemoryMib,omitempty" tf:"accelerator_total_memory_mib,omitempty"`

	// List of accelerator types. Default is any accelerator type.
	// +listType=set
	AcceleratorTypes []*string `json:"acceleratorTypes,omitempty" tf:"accelerator_types,omitempty"`

	// List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.
	// +listType=set
	AllowedInstanceTypes []*string `json:"allowedInstanceTypes,omitempty" tf:"allowed_instance_types,omitempty"`

	// Indicate whether bare metal instace types should be included, excluded, or required. Default is excluded.
	BareMetal *string `json:"bareMetal,omitempty" tf:"bare_metal,omitempty"`

	// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
	BaselineEBSBandwidthMbps *InstanceRequirementsBaselineEBSBandwidthMbpsInitParameters `json:"baselineEbsBandwidthMbps,omitempty" tf:"baseline_ebs_bandwidth_mbps,omitempty"`

	// Indicate whether burstable performance instance types should be included, excluded, or required. Default is excluded.
	BurstablePerformance *string `json:"burstablePerformance,omitempty" tf:"burstable_performance,omitempty"`

	// List of CPU manufacturer names. Default is any manufacturer.
	// +listType=set
	CPUManufacturers []*string `json:"cpuManufacturers,omitempty" tf:"cpu_manufacturers,omitempty"`

	// List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.
	// +listType=set
	ExcludedInstanceTypes []*string `json:"excludedInstanceTypes,omitempty" tf:"excluded_instance_types,omitempty"`

	// List of instance generation names. Default is any generation.
	// +listType=set
	InstanceGenerations []*string `json:"instanceGenerations,omitempty" tf:"instance_generations,omitempty"`

	// Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.
	LocalStorage *string `json:"localStorage,omitempty" tf:"local_storage,omitempty"`

	// List of local storage type names. Default any storage type.
	// +listType=set
	LocalStorageTypes []*string `json:"localStorageTypes,omitempty" tf:"local_storage_types,omitempty"`

	// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
	MemoryGibPerVcpu *InstanceRequirementsMemoryGibPerVcpuInitParameters `json:"memoryGibPerVcpu,omitempty" tf:"memory_gib_per_vcpu,omitempty"`

	// Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
	MemoryMib *InstanceRequirementsMemoryMibInitParameters `json:"memoryMib,omitempty" tf:"memory_mib,omitempty"`

	// Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
	NetworkBandwidthGbps *InstanceRequirementsNetworkBandwidthGbpsInitParameters `json:"networkBandwidthGbps,omitempty" tf:"network_bandwidth_gbps,omitempty"`

	// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
	NetworkInterfaceCount *InstanceRequirementsNetworkInterfaceCountInitParameters `json:"networkInterfaceCount,omitempty" tf:"network_interface_count,omitempty"`

	// The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.
	OnDemandMaxPricePercentageOverLowestPrice *float64 `json:"onDemandMaxPricePercentageOverLowestPrice,omitempty" tf:"on_demand_max_price_percentage_over_lowest_price,omitempty"`

	// Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.
	RequireHibernateSupport *bool `json:"requireHibernateSupport,omitempty" tf:"require_hibernate_support,omitempty"`

	// The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100.
	SpotMaxPricePercentageOverLowestPrice *float64 `json:"spotMaxPricePercentageOverLowestPrice,omitempty" tf:"spot_max_price_percentage_over_lowest_price,omitempty"`

	// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
	TotalLocalStorageGb *InstanceRequirementsTotalLocalStorageGbInitParameters `json:"totalLocalStorageGb,omitempty" tf:"total_local_storage_gb,omitempty"`

	// Block describing the minimum and maximum number of vCPUs. Default is no maximum.
	VcpuCount *InstanceRequirementsVcpuCountInitParameters `json:"vcpuCount,omitempty" tf:"vcpu_count,omitempty"`
}

func (*OverridesInstanceRequirementsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverridesInstanceRequirementsInitParameters.

func (*OverridesInstanceRequirementsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OverridesInstanceRequirementsObservation added in v1.7.0

type OverridesInstanceRequirementsObservation struct {

	// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
	AcceleratorCount *InstanceRequirementsAcceleratorCountObservation `json:"acceleratorCount,omitempty" tf:"accelerator_count,omitempty"`

	// List of accelerator manufacturer names. Default is any manufacturer.
	// +listType=set
	AcceleratorManufacturers []*string `json:"acceleratorManufacturers,omitempty" tf:"accelerator_manufacturers,omitempty"`

	// List of accelerator names. Default is any acclerator.
	// +listType=set
	AcceleratorNames []*string `json:"acceleratorNames,omitempty" tf:"accelerator_names,omitempty"`

	// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
	AcceleratorTotalMemoryMib *InstanceRequirementsAcceleratorTotalMemoryMibObservation `json:"acceleratorTotalMemoryMib,omitempty" tf:"accelerator_total_memory_mib,omitempty"`

	// List of accelerator types. Default is any accelerator type.
	// +listType=set
	AcceleratorTypes []*string `json:"acceleratorTypes,omitempty" tf:"accelerator_types,omitempty"`

	// List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.
	// +listType=set
	AllowedInstanceTypes []*string `json:"allowedInstanceTypes,omitempty" tf:"allowed_instance_types,omitempty"`

	// Indicate whether bare metal instace types should be included, excluded, or required. Default is excluded.
	BareMetal *string `json:"bareMetal,omitempty" tf:"bare_metal,omitempty"`

	// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
	BaselineEBSBandwidthMbps *InstanceRequirementsBaselineEBSBandwidthMbpsObservation `json:"baselineEbsBandwidthMbps,omitempty" tf:"baseline_ebs_bandwidth_mbps,omitempty"`

	// Indicate whether burstable performance instance types should be included, excluded, or required. Default is excluded.
	BurstablePerformance *string `json:"burstablePerformance,omitempty" tf:"burstable_performance,omitempty"`

	// List of CPU manufacturer names. Default is any manufacturer.
	// +listType=set
	CPUManufacturers []*string `json:"cpuManufacturers,omitempty" tf:"cpu_manufacturers,omitempty"`

	// List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.
	// +listType=set
	ExcludedInstanceTypes []*string `json:"excludedInstanceTypes,omitempty" tf:"excluded_instance_types,omitempty"`

	// List of instance generation names. Default is any generation.
	// +listType=set
	InstanceGenerations []*string `json:"instanceGenerations,omitempty" tf:"instance_generations,omitempty"`

	// Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.
	LocalStorage *string `json:"localStorage,omitempty" tf:"local_storage,omitempty"`

	// List of local storage type names. Default any storage type.
	// +listType=set
	LocalStorageTypes []*string `json:"localStorageTypes,omitempty" tf:"local_storage_types,omitempty"`

	// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
	MemoryGibPerVcpu *InstanceRequirementsMemoryGibPerVcpuObservation `json:"memoryGibPerVcpu,omitempty" tf:"memory_gib_per_vcpu,omitempty"`

	// Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
	MemoryMib *InstanceRequirementsMemoryMibObservation `json:"memoryMib,omitempty" tf:"memory_mib,omitempty"`

	// Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
	NetworkBandwidthGbps *InstanceRequirementsNetworkBandwidthGbpsObservation `json:"networkBandwidthGbps,omitempty" tf:"network_bandwidth_gbps,omitempty"`

	// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
	NetworkInterfaceCount *InstanceRequirementsNetworkInterfaceCountObservation `json:"networkInterfaceCount,omitempty" tf:"network_interface_count,omitempty"`

	// The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.
	OnDemandMaxPricePercentageOverLowestPrice *float64 `json:"onDemandMaxPricePercentageOverLowestPrice,omitempty" tf:"on_demand_max_price_percentage_over_lowest_price,omitempty"`

	// Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.
	RequireHibernateSupport *bool `json:"requireHibernateSupport,omitempty" tf:"require_hibernate_support,omitempty"`

	// The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100.
	SpotMaxPricePercentageOverLowestPrice *float64 `json:"spotMaxPricePercentageOverLowestPrice,omitempty" tf:"spot_max_price_percentage_over_lowest_price,omitempty"`

	// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
	TotalLocalStorageGb *InstanceRequirementsTotalLocalStorageGbObservation `json:"totalLocalStorageGb,omitempty" tf:"total_local_storage_gb,omitempty"`

	// Block describing the minimum and maximum number of vCPUs. Default is no maximum.
	VcpuCount *InstanceRequirementsVcpuCountObservation `json:"vcpuCount,omitempty" tf:"vcpu_count,omitempty"`
}

func (*OverridesInstanceRequirementsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverridesInstanceRequirementsObservation.

func (*OverridesInstanceRequirementsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OverridesInstanceRequirementsParameters added in v1.7.0

type OverridesInstanceRequirementsParameters struct {

	// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	AcceleratorCount *InstanceRequirementsAcceleratorCountParameters `json:"acceleratorCount,omitempty" tf:"accelerator_count,omitempty"`

	// List of accelerator manufacturer names. Default is any manufacturer.
	// +kubebuilder:validation:Optional
	// +listType=set
	AcceleratorManufacturers []*string `json:"acceleratorManufacturers,omitempty" tf:"accelerator_manufacturers,omitempty"`

	// List of accelerator names. Default is any acclerator.
	// +kubebuilder:validation:Optional
	// +listType=set
	AcceleratorNames []*string `json:"acceleratorNames,omitempty" tf:"accelerator_names,omitempty"`

	// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	AcceleratorTotalMemoryMib *InstanceRequirementsAcceleratorTotalMemoryMibParameters `json:"acceleratorTotalMemoryMib,omitempty" tf:"accelerator_total_memory_mib,omitempty"`

	// List of accelerator types. Default is any accelerator type.
	// +kubebuilder:validation:Optional
	// +listType=set
	AcceleratorTypes []*string `json:"acceleratorTypes,omitempty" tf:"accelerator_types,omitempty"`

	// List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.
	// +kubebuilder:validation:Optional
	// +listType=set
	AllowedInstanceTypes []*string `json:"allowedInstanceTypes,omitempty" tf:"allowed_instance_types,omitempty"`

	// Indicate whether bare metal instace types should be included, excluded, or required. Default is excluded.
	// +kubebuilder:validation:Optional
	BareMetal *string `json:"bareMetal,omitempty" tf:"bare_metal,omitempty"`

	// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	BaselineEBSBandwidthMbps *InstanceRequirementsBaselineEBSBandwidthMbpsParameters `json:"baselineEbsBandwidthMbps,omitempty" tf:"baseline_ebs_bandwidth_mbps,omitempty"`

	// Indicate whether burstable performance instance types should be included, excluded, or required. Default is excluded.
	// +kubebuilder:validation:Optional
	BurstablePerformance *string `json:"burstablePerformance,omitempty" tf:"burstable_performance,omitempty"`

	// List of CPU manufacturer names. Default is any manufacturer.
	// +kubebuilder:validation:Optional
	// +listType=set
	CPUManufacturers []*string `json:"cpuManufacturers,omitempty" tf:"cpu_manufacturers,omitempty"`

	// List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.
	// +kubebuilder:validation:Optional
	// +listType=set
	ExcludedInstanceTypes []*string `json:"excludedInstanceTypes,omitempty" tf:"excluded_instance_types,omitempty"`

	// List of instance generation names. Default is any generation.
	// +kubebuilder:validation:Optional
	// +listType=set
	InstanceGenerations []*string `json:"instanceGenerations,omitempty" tf:"instance_generations,omitempty"`

	// Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.
	// +kubebuilder:validation:Optional
	LocalStorage *string `json:"localStorage,omitempty" tf:"local_storage,omitempty"`

	// List of local storage type names. Default any storage type.
	// +kubebuilder:validation:Optional
	// +listType=set
	LocalStorageTypes []*string `json:"localStorageTypes,omitempty" tf:"local_storage_types,omitempty"`

	// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	MemoryGibPerVcpu *InstanceRequirementsMemoryGibPerVcpuParameters `json:"memoryGibPerVcpu,omitempty" tf:"memory_gib_per_vcpu,omitempty"`

	// Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
	// +kubebuilder:validation:Optional
	MemoryMib *InstanceRequirementsMemoryMibParameters `json:"memoryMib,omitempty" tf:"memory_mib,omitempty"`

	// Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	NetworkBandwidthGbps *InstanceRequirementsNetworkBandwidthGbpsParameters `json:"networkBandwidthGbps,omitempty" tf:"network_bandwidth_gbps,omitempty"`

	// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	NetworkInterfaceCount *InstanceRequirementsNetworkInterfaceCountParameters `json:"networkInterfaceCount,omitempty" tf:"network_interface_count,omitempty"`

	// The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.
	// +kubebuilder:validation:Optional
	OnDemandMaxPricePercentageOverLowestPrice *float64 `json:"onDemandMaxPricePercentageOverLowestPrice,omitempty" tf:"on_demand_max_price_percentage_over_lowest_price,omitempty"`

	// Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.
	// +kubebuilder:validation:Optional
	RequireHibernateSupport *bool `json:"requireHibernateSupport,omitempty" tf:"require_hibernate_support,omitempty"`

	// The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100.
	// +kubebuilder:validation:Optional
	SpotMaxPricePercentageOverLowestPrice *float64 `json:"spotMaxPricePercentageOverLowestPrice,omitempty" tf:"spot_max_price_percentage_over_lowest_price,omitempty"`

	// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	TotalLocalStorageGb *InstanceRequirementsTotalLocalStorageGbParameters `json:"totalLocalStorageGb,omitempty" tf:"total_local_storage_gb,omitempty"`

	// Block describing the minimum and maximum number of vCPUs. Default is no maximum.
	// +kubebuilder:validation:Optional
	VcpuCount *InstanceRequirementsVcpuCountParameters `json:"vcpuCount,omitempty" tf:"vcpu_count,omitempty"`
}

func (*OverridesInstanceRequirementsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverridesInstanceRequirementsParameters.

func (*OverridesInstanceRequirementsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OverridesObservation added in v1.7.0

type OverridesObservation struct {

	// The availability zone in which to place the request.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// The instance requirements. See below.
	InstanceRequirements *OverridesInstanceRequirementsObservation `json:"instanceRequirements,omitempty" tf:"instance_requirements,omitempty"`

	// The type of instance to request.
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// The priority for the launch template override. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority.
	Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"`

	// The maximum bid price per unit hour.
	SpotPrice *string `json:"spotPrice,omitempty" tf:"spot_price,omitempty"`

	// The subnet in which to launch the requested instance.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// The capacity added to the fleet by a fulfilled request.
	WeightedCapacity *float64 `json:"weightedCapacity,omitempty" tf:"weighted_capacity,omitempty"`
}

func (*OverridesObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverridesObservation.

func (*OverridesObservation) DeepCopyInto added in v1.7.0

func (in *OverridesObservation) DeepCopyInto(out *OverridesObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OverridesParameters added in v1.7.0

type OverridesParameters struct {

	// The availability zone in which to place the request.
	// +kubebuilder:validation:Optional
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// The instance requirements. See below.
	// +kubebuilder:validation:Optional
	InstanceRequirements *OverridesInstanceRequirementsParameters `json:"instanceRequirements,omitempty" tf:"instance_requirements,omitempty"`

	// The type of instance to request.
	// +kubebuilder:validation:Optional
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// The priority for the launch template override. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority.
	// +kubebuilder:validation:Optional
	Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"`

	// The maximum bid price per unit hour.
	// +kubebuilder:validation:Optional
	SpotPrice *string `json:"spotPrice,omitempty" tf:"spot_price,omitempty"`

	// The subnet in which to launch the requested instance.
	// +kubebuilder:validation:Optional
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// The capacity added to the fleet by a fulfilled request.
	// +kubebuilder:validation:Optional
	WeightedCapacity *float64 `json:"weightedCapacity,omitempty" tf:"weighted_capacity,omitempty"`
}

func (*OverridesParameters) DeepCopy added in v1.7.0

func (in *OverridesParameters) DeepCopy() *OverridesParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverridesParameters.

func (*OverridesParameters) DeepCopyInto added in v1.7.0

func (in *OverridesParameters) DeepCopyInto(out *OverridesParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PlacementInitParameters added in v1.7.0

type PlacementInitParameters struct {

	// The affinity setting for an instance on a Dedicated Host.
	Affinity *string `json:"affinity,omitempty" tf:"affinity,omitempty"`

	// The Availability Zone for the instance.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// The name of the placement group for the instance.
	GroupName *string `json:"groupName,omitempty" tf:"group_name,omitempty"`

	// The ID of the Dedicated Host for the instance.
	HostID *string `json:"hostId,omitempty" tf:"host_id,omitempty"`

	// The ARN of the Host Resource Group in which to launch instances.
	HostResourceGroupArn *string `json:"hostResourceGroupArn,omitempty" tf:"host_resource_group_arn,omitempty"`

	// The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.
	PartitionNumber *float64 `json:"partitionNumber,omitempty" tf:"partition_number,omitempty"`

	// Reserved for future use.
	SpreadDomain *string `json:"spreadDomain,omitempty" tf:"spread_domain,omitempty"`

	// The tenancy of the instance (if the instance is running in a VPC). Can be default, dedicated, or host.
	Tenancy *string `json:"tenancy,omitempty" tf:"tenancy,omitempty"`
}

func (*PlacementInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementInitParameters.

func (*PlacementInitParameters) DeepCopyInto added in v1.7.0

func (in *PlacementInitParameters) DeepCopyInto(out *PlacementInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PlacementObservation added in v1.7.0

type PlacementObservation struct {

	// The affinity setting for an instance on a Dedicated Host.
	Affinity *string `json:"affinity,omitempty" tf:"affinity,omitempty"`

	// The Availability Zone for the instance.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// The name of the placement group for the instance.
	GroupName *string `json:"groupName,omitempty" tf:"group_name,omitempty"`

	// The ID of the Dedicated Host for the instance.
	HostID *string `json:"hostId,omitempty" tf:"host_id,omitempty"`

	// The ARN of the Host Resource Group in which to launch instances.
	HostResourceGroupArn *string `json:"hostResourceGroupArn,omitempty" tf:"host_resource_group_arn,omitempty"`

	// The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.
	PartitionNumber *float64 `json:"partitionNumber,omitempty" tf:"partition_number,omitempty"`

	// Reserved for future use.
	SpreadDomain *string `json:"spreadDomain,omitempty" tf:"spread_domain,omitempty"`

	// The tenancy of the instance (if the instance is running in a VPC). Can be default, dedicated, or host.
	Tenancy *string `json:"tenancy,omitempty" tf:"tenancy,omitempty"`
}

func (*PlacementObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementObservation.

func (*PlacementObservation) DeepCopyInto added in v1.7.0

func (in *PlacementObservation) DeepCopyInto(out *PlacementObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PlacementParameters added in v1.7.0

type PlacementParameters struct {

	// The affinity setting for an instance on a Dedicated Host.
	// +kubebuilder:validation:Optional
	Affinity *string `json:"affinity,omitempty" tf:"affinity,omitempty"`

	// The Availability Zone for the instance.
	// +kubebuilder:validation:Optional
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// The name of the placement group for the instance.
	// +kubebuilder:validation:Optional
	GroupName *string `json:"groupName,omitempty" tf:"group_name,omitempty"`

	// The ID of the Dedicated Host for the instance.
	// +kubebuilder:validation:Optional
	HostID *string `json:"hostId,omitempty" tf:"host_id,omitempty"`

	// The ARN of the Host Resource Group in which to launch instances.
	// +kubebuilder:validation:Optional
	HostResourceGroupArn *string `json:"hostResourceGroupArn,omitempty" tf:"host_resource_group_arn,omitempty"`

	// The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.
	// +kubebuilder:validation:Optional
	PartitionNumber *float64 `json:"partitionNumber,omitempty" tf:"partition_number,omitempty"`

	// Reserved for future use.
	// +kubebuilder:validation:Optional
	SpreadDomain *string `json:"spreadDomain,omitempty" tf:"spread_domain,omitempty"`

	// The tenancy of the instance (if the instance is running in a VPC). Can be default, dedicated, or host.
	// +kubebuilder:validation:Optional
	Tenancy *string `json:"tenancy,omitempty" tf:"tenancy,omitempty"`
}

func (*PlacementParameters) DeepCopy added in v1.7.0

func (in *PlacementParameters) DeepCopy() *PlacementParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementParameters.

func (*PlacementParameters) DeepCopyInto added in v1.7.0

func (in *PlacementParameters) DeepCopyInto(out *PlacementParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PrivateDNSNameOptionsInitParameters added in v1.7.0

type PrivateDNSNameOptionsInitParameters struct {

	// Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
	EnableResourceNameDNSARecord *bool `json:"enableResourceNameDnsARecord,omitempty" tf:"enable_resource_name_dns_a_record,omitempty"`

	// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.
	EnableResourceNameDNSAaaaRecord *bool `json:"enableResourceNameDnsAaaaRecord,omitempty" tf:"enable_resource_name_dns_aaaa_record,omitempty"`

	// Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: ip-name and resource-name.
	HostnameType *string `json:"hostnameType,omitempty" tf:"hostname_type,omitempty"`
}

func (*PrivateDNSNameOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateDNSNameOptionsInitParameters.

func (*PrivateDNSNameOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PrivateDNSNameOptionsObservation added in v1.7.0

type PrivateDNSNameOptionsObservation struct {

	// Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
	EnableResourceNameDNSARecord *bool `json:"enableResourceNameDnsARecord,omitempty" tf:"enable_resource_name_dns_a_record,omitempty"`

	// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.
	EnableResourceNameDNSAaaaRecord *bool `json:"enableResourceNameDnsAaaaRecord,omitempty" tf:"enable_resource_name_dns_aaaa_record,omitempty"`

	// Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: ip-name and resource-name.
	HostnameType *string `json:"hostnameType,omitempty" tf:"hostname_type,omitempty"`
}

func (*PrivateDNSNameOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateDNSNameOptionsObservation.

func (*PrivateDNSNameOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PrivateDNSNameOptionsParameters added in v1.7.0

type PrivateDNSNameOptionsParameters struct {

	// Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
	// +kubebuilder:validation:Optional
	EnableResourceNameDNSARecord *bool `json:"enableResourceNameDnsARecord,omitempty" tf:"enable_resource_name_dns_a_record,omitempty"`

	// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.
	// +kubebuilder:validation:Optional
	EnableResourceNameDNSAaaaRecord *bool `json:"enableResourceNameDnsAaaaRecord,omitempty" tf:"enable_resource_name_dns_aaaa_record,omitempty"`

	// Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: ip-name and resource-name.
	// +kubebuilder:validation:Optional
	HostnameType *string `json:"hostnameType,omitempty" tf:"hostname_type,omitempty"`
}

func (*PrivateDNSNameOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateDNSNameOptionsParameters.

func (*PrivateDNSNameOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RequesterInitParameters added in v1.7.0

type RequesterInitParameters struct {
}

func (*RequesterInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequesterInitParameters.

func (*RequesterInitParameters) DeepCopyInto added in v1.7.0

func (in *RequesterInitParameters) DeepCopyInto(out *RequesterInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RequesterObservation added in v1.7.0

type RequesterObservation struct {

	// Allow a local VPC to resolve public DNS hostnames to
	// private IP addresses when queried from instances in the peer VPC.
	AllowRemoteVPCDNSResolution *bool `json:"allowRemoteVpcDnsResolution,omitempty" tf:"allow_remote_vpc_dns_resolution,omitempty"`
}

func (*RequesterObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequesterObservation.

func (*RequesterObservation) DeepCopyInto added in v1.7.0

func (in *RequesterObservation) DeepCopyInto(out *RequesterObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RequesterParameters added in v1.7.0

type RequesterParameters struct {
}

func (*RequesterParameters) DeepCopy added in v1.7.0

func (in *RequesterParameters) DeepCopy() *RequesterParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequesterParameters.

func (*RequesterParameters) DeepCopyInto added in v1.7.0

func (in *RequesterParameters) DeepCopyInto(out *RequesterParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RootBlockDeviceInitParameters added in v1.7.0

type RootBlockDeviceInitParameters struct {

	// Whether the volume should be destroyed on instance termination. Defaults to true.
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// Whether to enable volume encryption. Defaults to false. Must be configured to perform drift detection.
	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// Amount of provisioned IOPS. Only valid for volume_type of io1, io2 or gp3.
	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// Reference to a Key in kms to populate kmsKeyId.
	// +kubebuilder:validation:Optional
	KMSKeyIDRef *v1.Reference `json:"kmsKeyIdRef,omitempty" tf:"-"`

	// Selector for a Key in kms to populate kmsKeyId.
	// +kubebuilder:validation:Optional
	KMSKeyIDSelector *v1.Selector `json:"kmsKeyIdSelector,omitempty" tf:"-"`

	// Map of tags to assign to the device.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for volume_type of gp3.
	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	// Size of the volume in gibibytes (GiB).
	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	// Type of volume. Valid values include standard, gp2, gp3, io1, io2, sc1, or st1. Defaults to the volume type that the AMI uses.
	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*RootBlockDeviceInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RootBlockDeviceInitParameters.

func (*RootBlockDeviceInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RootBlockDeviceObservation added in v1.7.0

type RootBlockDeviceObservation struct {

	// Whether the volume should be destroyed on instance termination. Defaults to true.
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// Device name, e.g., /dev/sdh or xvdh.
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	// Whether to enable volume encryption. Defaults to false. Must be configured to perform drift detection.
	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// Amount of provisioned IOPS. Only valid for volume_type of io1, io2 or gp3.
	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// Map of tags to assign to the device.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for volume_type of gp3.
	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	// ID of the volume. For example, the ID can be accessed like this, aws_instance.web.root_block_device.0.volume_id.
	VolumeID *string `json:"volumeId,omitempty" tf:"volume_id,omitempty"`

	// Size of the volume in gibibytes (GiB).
	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	// Type of volume. Valid values include standard, gp2, gp3, io1, io2, sc1, or st1. Defaults to the volume type that the AMI uses.
	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*RootBlockDeviceObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RootBlockDeviceObservation.

func (*RootBlockDeviceObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RootBlockDeviceParameters added in v1.7.0

type RootBlockDeviceParameters struct {

	// Whether the volume should be destroyed on instance termination. Defaults to true.
	// +kubebuilder:validation:Optional
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// Whether to enable volume encryption. Defaults to false. Must be configured to perform drift detection.
	// +kubebuilder:validation:Optional
	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// Amount of provisioned IOPS. Only valid for volume_type of io1, io2 or gp3.
	// +kubebuilder:validation:Optional
	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key
	// +kubebuilder:validation:Optional
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// Reference to a Key in kms to populate kmsKeyId.
	// +kubebuilder:validation:Optional
	KMSKeyIDRef *v1.Reference `json:"kmsKeyIdRef,omitempty" tf:"-"`

	// Selector for a Key in kms to populate kmsKeyId.
	// +kubebuilder:validation:Optional
	KMSKeyIDSelector *v1.Selector `json:"kmsKeyIdSelector,omitempty" tf:"-"`

	// Map of tags to assign to the device.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for volume_type of gp3.
	// +kubebuilder:validation:Optional
	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	// Size of the volume in gibibytes (GiB).
	// +kubebuilder:validation:Optional
	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	// Type of volume. Valid values include standard, gp2, gp3, io1, io2, sc1, or st1. Defaults to the volume type that the AMI uses.
	// +kubebuilder:validation:Optional
	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*RootBlockDeviceParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RootBlockDeviceParameters.

func (*RootBlockDeviceParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Route

type Route struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              RouteSpec   `json:"spec"`
	Status            RouteStatus `json:"status,omitempty"`
}

Route is the Schema for the Routes API. Provides a resource to create a routing entry in a VPC routing table. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*Route) DeepCopy

func (in *Route) DeepCopy() *Route

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route.

func (*Route) DeepCopyInto

func (in *Route) DeepCopyInto(out *Route)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Route) DeepCopyObject

func (in *Route) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Route) GetCondition

func (mg *Route) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Route.

func (*Route) GetConnectionDetailsMapping

func (tr *Route) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Route

func (*Route) GetDeletionPolicy

func (mg *Route) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Route.

func (*Route) GetID

func (tr *Route) GetID() string

GetID returns ID of underlying Terraform resource of this Route

func (*Route) GetInitParameters

func (tr *Route) GetInitParameters() (map[string]any, error)

GetInitParameters of this Route

func (*Route) GetManagementPolicies

func (mg *Route) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Route.

func (*Route) GetMergedParameters

func (tr *Route) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Route

func (*Route) GetObservation

func (tr *Route) GetObservation() (map[string]any, error)

GetObservation of this Route

func (*Route) GetParameters

func (tr *Route) GetParameters() (map[string]any, error)

GetParameters of this Route

func (*Route) GetProviderConfigReference

func (mg *Route) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Route.

func (*Route) GetPublishConnectionDetailsTo

func (mg *Route) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Route.

func (*Route) GetTerraformResourceType

func (mg *Route) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Route

func (*Route) GetTerraformSchemaVersion

func (tr *Route) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Route) GetWriteConnectionSecretToReference

func (mg *Route) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Route.

func (*Route) Hub

func (tr *Route) Hub()

Hub marks this type as a conversion hub.

func (*Route) LateInitialize

func (tr *Route) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Route using its observed tfState. returns True if there are any spec changes for the resource.

func (*Route) ResolveReferences

func (mg *Route) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Route.

func (*Route) SetConditions

func (mg *Route) SetConditions(c ...xpv1.Condition)

SetConditions of this Route.

func (*Route) SetDeletionPolicy

func (mg *Route) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Route.

func (*Route) SetManagementPolicies

func (mg *Route) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Route.

func (*Route) SetObservation

func (tr *Route) SetObservation(obs map[string]any) error

SetObservation for this Route

func (*Route) SetParameters

func (tr *Route) SetParameters(params map[string]any) error

SetParameters for this Route

func (*Route) SetProviderConfigReference

func (mg *Route) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Route.

func (*Route) SetPublishConnectionDetailsTo

func (mg *Route) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Route.

func (*Route) SetWriteConnectionSecretToReference

func (mg *Route) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Route.

type RouteInitParameters

type RouteInitParameters struct {

	// Identifier of a carrier gateway. This attribute can only be used when the VPC contains a subnet which is associated with a Wavelength Zone.
	CarrierGatewayID *string `json:"carrierGatewayId,omitempty" tf:"carrier_gateway_id,omitempty"`

	// The Amazon Resource Name (ARN) of a core network.
	CoreNetworkArn *string `json:"coreNetworkArn,omitempty" tf:"core_network_arn,omitempty"`

	// The destination CIDR block.
	DestinationCidrBlock *string `json:"destinationCidrBlock,omitempty" tf:"destination_cidr_block,omitempty"`

	// The destination IPv6 CIDR block.
	DestinationIPv6CidrBlock *string `json:"destinationIpv6CidrBlock,omitempty" tf:"destination_ipv6_cidr_block,omitempty"`

	// The ID of a managed prefix list destination.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.ManagedPrefixList
	DestinationPrefixListID *string `json:"destinationPrefixListId,omitempty" tf:"destination_prefix_list_id,omitempty"`

	// Reference to a ManagedPrefixList in ec2 to populate destinationPrefixListId.
	// +kubebuilder:validation:Optional
	DestinationPrefixListIDRef *v1.Reference `json:"destinationPrefixListIdRef,omitempty" tf:"-"`

	// Selector for a ManagedPrefixList in ec2 to populate destinationPrefixListId.
	// +kubebuilder:validation:Optional
	DestinationPrefixListIDSelector *v1.Selector `json:"destinationPrefixListIdSelector,omitempty" tf:"-"`

	// Identifier of a VPC Egress Only Internet Gateway.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.EgressOnlyInternetGateway
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	EgressOnlyGatewayID *string `json:"egressOnlyGatewayId,omitempty" tf:"egress_only_gateway_id,omitempty"`

	// Reference to a EgressOnlyInternetGateway in ec2 to populate egressOnlyGatewayId.
	// +kubebuilder:validation:Optional
	EgressOnlyGatewayIDRef *v1.Reference `json:"egressOnlyGatewayIdRef,omitempty" tf:"-"`

	// Selector for a EgressOnlyInternetGateway in ec2 to populate egressOnlyGatewayId.
	// +kubebuilder:validation:Optional
	EgressOnlyGatewayIDSelector *v1.Selector `json:"egressOnlyGatewayIdSelector,omitempty" tf:"-"`

	// Identifier of a VPC internet gateway or a virtual private gateway. Specify local when updating a previously imported local route.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.InternetGateway
	GatewayID *string `json:"gatewayId,omitempty" tf:"gateway_id,omitempty"`

	// Reference to a InternetGateway in ec2 to populate gatewayId.
	// +kubebuilder:validation:Optional
	GatewayIDRef *v1.Reference `json:"gatewayIdRef,omitempty" tf:"-"`

	// Selector for a InternetGateway in ec2 to populate gatewayId.
	// +kubebuilder:validation:Optional
	GatewayIDSelector *v1.Selector `json:"gatewayIdSelector,omitempty" tf:"-"`

	// Identifier of a Outpost local gateway.
	LocalGatewayID *string `json:"localGatewayId,omitempty" tf:"local_gateway_id,omitempty"`

	// Identifier of a VPC NAT gateway.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.NATGateway
	NATGatewayID *string `json:"natGatewayId,omitempty" tf:"nat_gateway_id,omitempty"`

	// Reference to a NATGateway in ec2 to populate natGatewayId.
	// +kubebuilder:validation:Optional
	NATGatewayIDRef *v1.Reference `json:"natGatewayIdRef,omitempty" tf:"-"`

	// Selector for a NATGateway in ec2 to populate natGatewayId.
	// +kubebuilder:validation:Optional
	NATGatewayIDSelector *v1.Selector `json:"natGatewayIdSelector,omitempty" tf:"-"`

	// Identifier of an EC2 network interface.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.NetworkInterface
	NetworkInterfaceID *string `json:"networkInterfaceId,omitempty" tf:"network_interface_id,omitempty"`

	// Reference to a NetworkInterface in ec2 to populate networkInterfaceId.
	// +kubebuilder:validation:Optional
	NetworkInterfaceIDRef *v1.Reference `json:"networkInterfaceIdRef,omitempty" tf:"-"`

	// Selector for a NetworkInterface in ec2 to populate networkInterfaceId.
	// +kubebuilder:validation:Optional
	NetworkInterfaceIDSelector *v1.Selector `json:"networkInterfaceIdSelector,omitempty" tf:"-"`

	// The ID of the routing table.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.RouteTable
	RouteTableID *string `json:"routeTableId,omitempty" tf:"route_table_id,omitempty"`

	// Reference to a RouteTable in ec2 to populate routeTableId.
	// +kubebuilder:validation:Optional
	RouteTableIDRef *v1.Reference `json:"routeTableIdRef,omitempty" tf:"-"`

	// Selector for a RouteTable in ec2 to populate routeTableId.
	// +kubebuilder:validation:Optional
	RouteTableIDSelector *v1.Selector `json:"routeTableIdSelector,omitempty" tf:"-"`

	// Identifier of an EC2 Transit Gateway.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.TransitGateway
	TransitGatewayID *string `json:"transitGatewayId,omitempty" tf:"transit_gateway_id,omitempty"`

	// Reference to a TransitGateway in ec2 to populate transitGatewayId.
	// +kubebuilder:validation:Optional
	TransitGatewayIDRef *v1.Reference `json:"transitGatewayIdRef,omitempty" tf:"-"`

	// Selector for a TransitGateway in ec2 to populate transitGatewayId.
	// +kubebuilder:validation:Optional
	TransitGatewayIDSelector *v1.Selector `json:"transitGatewayIdSelector,omitempty" tf:"-"`

	// Identifier of a VPC Endpoint.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.VPCEndpoint
	VPCEndpointID *string `json:"vpcEndpointId,omitempty" tf:"vpc_endpoint_id,omitempty"`

	// Reference to a VPCEndpoint in ec2 to populate vpcEndpointId.
	// +kubebuilder:validation:Optional
	VPCEndpointIDRef *v1.Reference `json:"vpcEndpointIdRef,omitempty" tf:"-"`

	// Selector for a VPCEndpoint in ec2 to populate vpcEndpointId.
	// +kubebuilder:validation:Optional
	VPCEndpointIDSelector *v1.Selector `json:"vpcEndpointIdSelector,omitempty" tf:"-"`

	// Identifier of a VPC peering connection.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.VPCPeeringConnection
	VPCPeeringConnectionID *string `json:"vpcPeeringConnectionId,omitempty" tf:"vpc_peering_connection_id,omitempty"`

	// Reference to a VPCPeeringConnection in ec2 to populate vpcPeeringConnectionId.
	// +kubebuilder:validation:Optional
	VPCPeeringConnectionIDRef *v1.Reference `json:"vpcPeeringConnectionIdRef,omitempty" tf:"-"`

	// Selector for a VPCPeeringConnection in ec2 to populate vpcPeeringConnectionId.
	// +kubebuilder:validation:Optional
	VPCPeeringConnectionIDSelector *v1.Selector `json:"vpcPeeringConnectionIdSelector,omitempty" tf:"-"`
}

func (*RouteInitParameters) DeepCopy

func (in *RouteInitParameters) DeepCopy() *RouteInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteInitParameters.

func (*RouteInitParameters) DeepCopyInto

func (in *RouteInitParameters) DeepCopyInto(out *RouteInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteList

type RouteList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Route `json:"items"`
}

RouteList contains a list of Routes

func (*RouteList) DeepCopy

func (in *RouteList) DeepCopy() *RouteList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteList.

func (*RouteList) DeepCopyInto

func (in *RouteList) DeepCopyInto(out *RouteList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RouteList) DeepCopyObject

func (in *RouteList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RouteList) GetItems

func (l *RouteList) GetItems() []resource.Managed

GetItems of this RouteList.

type RouteObservation

type RouteObservation struct {

	// Identifier of a carrier gateway. This attribute can only be used when the VPC contains a subnet which is associated with a Wavelength Zone.
	CarrierGatewayID *string `json:"carrierGatewayId,omitempty" tf:"carrier_gateway_id,omitempty"`

	// The Amazon Resource Name (ARN) of a core network.
	CoreNetworkArn *string `json:"coreNetworkArn,omitempty" tf:"core_network_arn,omitempty"`

	// The destination CIDR block.
	DestinationCidrBlock *string `json:"destinationCidrBlock,omitempty" tf:"destination_cidr_block,omitempty"`

	// The destination IPv6 CIDR block.
	DestinationIPv6CidrBlock *string `json:"destinationIpv6CidrBlock,omitempty" tf:"destination_ipv6_cidr_block,omitempty"`

	// The ID of a managed prefix list destination.
	DestinationPrefixListID *string `json:"destinationPrefixListId,omitempty" tf:"destination_prefix_list_id,omitempty"`

	// Identifier of a VPC Egress Only Internet Gateway.
	EgressOnlyGatewayID *string `json:"egressOnlyGatewayId,omitempty" tf:"egress_only_gateway_id,omitempty"`

	// Identifier of a VPC internet gateway or a virtual private gateway. Specify local when updating a previously imported local route.
	GatewayID *string `json:"gatewayId,omitempty" tf:"gateway_id,omitempty"`

	// Route identifier computed from the routing table identifier and route destination.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Identifier of an EC2 instance.
	InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"`

	// The AWS account ID of the owner of the EC2 instance.
	InstanceOwnerID *string `json:"instanceOwnerId,omitempty" tf:"instance_owner_id,omitempty"`

	// Identifier of a Outpost local gateway.
	LocalGatewayID *string `json:"localGatewayId,omitempty" tf:"local_gateway_id,omitempty"`

	// Identifier of a VPC NAT gateway.
	NATGatewayID *string `json:"natGatewayId,omitempty" tf:"nat_gateway_id,omitempty"`

	// Identifier of an EC2 network interface.
	NetworkInterfaceID *string `json:"networkInterfaceId,omitempty" tf:"network_interface_id,omitempty"`

	// How the route was created - CreateRouteTable, CreateRoute or EnableVgwRoutePropagation.
	Origin *string `json:"origin,omitempty" tf:"origin,omitempty"`

	// The ID of the routing table.
	RouteTableID *string `json:"routeTableId,omitempty" tf:"route_table_id,omitempty"`

	// The state of the route - active or blackhole.
	State *string `json:"state,omitempty" tf:"state,omitempty"`

	// Identifier of an EC2 Transit Gateway.
	TransitGatewayID *string `json:"transitGatewayId,omitempty" tf:"transit_gateway_id,omitempty"`

	// Identifier of a VPC Endpoint.
	VPCEndpointID *string `json:"vpcEndpointId,omitempty" tf:"vpc_endpoint_id,omitempty"`

	// Identifier of a VPC peering connection.
	VPCPeeringConnectionID *string `json:"vpcPeeringConnectionId,omitempty" tf:"vpc_peering_connection_id,omitempty"`
}

func (*RouteObservation) DeepCopy

func (in *RouteObservation) DeepCopy() *RouteObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteObservation.

func (*RouteObservation) DeepCopyInto

func (in *RouteObservation) DeepCopyInto(out *RouteObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteParameters

type RouteParameters struct {

	// Identifier of a carrier gateway. This attribute can only be used when the VPC contains a subnet which is associated with a Wavelength Zone.
	// +kubebuilder:validation:Optional
	CarrierGatewayID *string `json:"carrierGatewayId,omitempty" tf:"carrier_gateway_id,omitempty"`

	// The Amazon Resource Name (ARN) of a core network.
	// +kubebuilder:validation:Optional
	CoreNetworkArn *string `json:"coreNetworkArn,omitempty" tf:"core_network_arn,omitempty"`

	// The destination CIDR block.
	// +kubebuilder:validation:Optional
	DestinationCidrBlock *string `json:"destinationCidrBlock,omitempty" tf:"destination_cidr_block,omitempty"`

	// The destination IPv6 CIDR block.
	// +kubebuilder:validation:Optional
	DestinationIPv6CidrBlock *string `json:"destinationIpv6CidrBlock,omitempty" tf:"destination_ipv6_cidr_block,omitempty"`

	// The ID of a managed prefix list destination.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.ManagedPrefixList
	// +kubebuilder:validation:Optional
	DestinationPrefixListID *string `json:"destinationPrefixListId,omitempty" tf:"destination_prefix_list_id,omitempty"`

	// Reference to a ManagedPrefixList in ec2 to populate destinationPrefixListId.
	// +kubebuilder:validation:Optional
	DestinationPrefixListIDRef *v1.Reference `json:"destinationPrefixListIdRef,omitempty" tf:"-"`

	// Selector for a ManagedPrefixList in ec2 to populate destinationPrefixListId.
	// +kubebuilder:validation:Optional
	DestinationPrefixListIDSelector *v1.Selector `json:"destinationPrefixListIdSelector,omitempty" tf:"-"`

	// Identifier of a VPC Egress Only Internet Gateway.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.EgressOnlyInternetGateway
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	EgressOnlyGatewayID *string `json:"egressOnlyGatewayId,omitempty" tf:"egress_only_gateway_id,omitempty"`

	// Reference to a EgressOnlyInternetGateway in ec2 to populate egressOnlyGatewayId.
	// +kubebuilder:validation:Optional
	EgressOnlyGatewayIDRef *v1.Reference `json:"egressOnlyGatewayIdRef,omitempty" tf:"-"`

	// Selector for a EgressOnlyInternetGateway in ec2 to populate egressOnlyGatewayId.
	// +kubebuilder:validation:Optional
	EgressOnlyGatewayIDSelector *v1.Selector `json:"egressOnlyGatewayIdSelector,omitempty" tf:"-"`

	// Identifier of a VPC internet gateway or a virtual private gateway. Specify local when updating a previously imported local route.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.InternetGateway
	// +kubebuilder:validation:Optional
	GatewayID *string `json:"gatewayId,omitempty" tf:"gateway_id,omitempty"`

	// Reference to a InternetGateway in ec2 to populate gatewayId.
	// +kubebuilder:validation:Optional
	GatewayIDRef *v1.Reference `json:"gatewayIdRef,omitempty" tf:"-"`

	// Selector for a InternetGateway in ec2 to populate gatewayId.
	// +kubebuilder:validation:Optional
	GatewayIDSelector *v1.Selector `json:"gatewayIdSelector,omitempty" tf:"-"`

	// Identifier of a Outpost local gateway.
	// +kubebuilder:validation:Optional
	LocalGatewayID *string `json:"localGatewayId,omitempty" tf:"local_gateway_id,omitempty"`

	// Identifier of a VPC NAT gateway.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.NATGateway
	// +kubebuilder:validation:Optional
	NATGatewayID *string `json:"natGatewayId,omitempty" tf:"nat_gateway_id,omitempty"`

	// Reference to a NATGateway in ec2 to populate natGatewayId.
	// +kubebuilder:validation:Optional
	NATGatewayIDRef *v1.Reference `json:"natGatewayIdRef,omitempty" tf:"-"`

	// Selector for a NATGateway in ec2 to populate natGatewayId.
	// +kubebuilder:validation:Optional
	NATGatewayIDSelector *v1.Selector `json:"natGatewayIdSelector,omitempty" tf:"-"`

	// Identifier of an EC2 network interface.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.NetworkInterface
	// +kubebuilder:validation:Optional
	NetworkInterfaceID *string `json:"networkInterfaceId,omitempty" tf:"network_interface_id,omitempty"`

	// Reference to a NetworkInterface in ec2 to populate networkInterfaceId.
	// +kubebuilder:validation:Optional
	NetworkInterfaceIDRef *v1.Reference `json:"networkInterfaceIdRef,omitempty" tf:"-"`

	// Selector for a NetworkInterface in ec2 to populate networkInterfaceId.
	// +kubebuilder:validation:Optional
	NetworkInterfaceIDSelector *v1.Selector `json:"networkInterfaceIdSelector,omitempty" tf:"-"`

	// Region is the region you'd like your resource to be created in.
	// +upjet:crd:field:TFTag=-
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"-"`

	// The ID of the routing table.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.RouteTable
	// +kubebuilder:validation:Optional
	RouteTableID *string `json:"routeTableId,omitempty" tf:"route_table_id,omitempty"`

	// Reference to a RouteTable in ec2 to populate routeTableId.
	// +kubebuilder:validation:Optional
	RouteTableIDRef *v1.Reference `json:"routeTableIdRef,omitempty" tf:"-"`

	// Selector for a RouteTable in ec2 to populate routeTableId.
	// +kubebuilder:validation:Optional
	RouteTableIDSelector *v1.Selector `json:"routeTableIdSelector,omitempty" tf:"-"`

	// Identifier of an EC2 Transit Gateway.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.TransitGateway
	// +kubebuilder:validation:Optional
	TransitGatewayID *string `json:"transitGatewayId,omitempty" tf:"transit_gateway_id,omitempty"`

	// Reference to a TransitGateway in ec2 to populate transitGatewayId.
	// +kubebuilder:validation:Optional
	TransitGatewayIDRef *v1.Reference `json:"transitGatewayIdRef,omitempty" tf:"-"`

	// Selector for a TransitGateway in ec2 to populate transitGatewayId.
	// +kubebuilder:validation:Optional
	TransitGatewayIDSelector *v1.Selector `json:"transitGatewayIdSelector,omitempty" tf:"-"`

	// Identifier of a VPC Endpoint.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.VPCEndpoint
	// +kubebuilder:validation:Optional
	VPCEndpointID *string `json:"vpcEndpointId,omitempty" tf:"vpc_endpoint_id,omitempty"`

	// Reference to a VPCEndpoint in ec2 to populate vpcEndpointId.
	// +kubebuilder:validation:Optional
	VPCEndpointIDRef *v1.Reference `json:"vpcEndpointIdRef,omitempty" tf:"-"`

	// Selector for a VPCEndpoint in ec2 to populate vpcEndpointId.
	// +kubebuilder:validation:Optional
	VPCEndpointIDSelector *v1.Selector `json:"vpcEndpointIdSelector,omitempty" tf:"-"`

	// Identifier of a VPC peering connection.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.VPCPeeringConnection
	// +kubebuilder:validation:Optional
	VPCPeeringConnectionID *string `json:"vpcPeeringConnectionId,omitempty" tf:"vpc_peering_connection_id,omitempty"`

	// Reference to a VPCPeeringConnection in ec2 to populate vpcPeeringConnectionId.
	// +kubebuilder:validation:Optional
	VPCPeeringConnectionIDRef *v1.Reference `json:"vpcPeeringConnectionIdRef,omitempty" tf:"-"`

	// Selector for a VPCPeeringConnection in ec2 to populate vpcPeeringConnectionId.
	// +kubebuilder:validation:Optional
	VPCPeeringConnectionIDSelector *v1.Selector `json:"vpcPeeringConnectionIdSelector,omitempty" tf:"-"`
}

func (*RouteParameters) DeepCopy

func (in *RouteParameters) DeepCopy() *RouteParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteParameters.

func (*RouteParameters) DeepCopyInto

func (in *RouteParameters) DeepCopyInto(out *RouteParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteSpec

type RouteSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     RouteParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider RouteInitParameters `json:"initProvider,omitempty"`
}

RouteSpec defines the desired state of Route

func (*RouteSpec) DeepCopy

func (in *RouteSpec) DeepCopy() *RouteSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteSpec.

func (*RouteSpec) DeepCopyInto

func (in *RouteSpec) DeepCopyInto(out *RouteSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteStatus

type RouteStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        RouteObservation `json:"atProvider,omitempty"`
}

RouteStatus defines the observed state of Route.

func (*RouteStatus) DeepCopy

func (in *RouteStatus) DeepCopy() *RouteStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteStatus.

func (*RouteStatus) DeepCopyInto

func (in *RouteStatus) DeepCopyInto(out *RouteStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RoutesInitParameters added in v1.7.0

type RoutesInitParameters struct {
}

func (*RoutesInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutesInitParameters.

func (*RoutesInitParameters) DeepCopyInto added in v1.7.0

func (in *RoutesInitParameters) DeepCopyInto(out *RoutesInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RoutesObservation added in v1.7.0

type RoutesObservation struct {

	// The CIDR block associated with the local subnet of the customer data center.
	DestinationCidrBlock *string `json:"destinationCidrBlock,omitempty" tf:"destination_cidr_block,omitempty"`

	// Indicates how the routes were provided.
	Source *string `json:"source,omitempty" tf:"source,omitempty"`

	// The current state of the static route.
	State *string `json:"state,omitempty" tf:"state,omitempty"`
}

func (*RoutesObservation) DeepCopy added in v1.7.0

func (in *RoutesObservation) DeepCopy() *RoutesObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutesObservation.

func (*RoutesObservation) DeepCopyInto added in v1.7.0

func (in *RoutesObservation) DeepCopyInto(out *RoutesObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RoutesParameters added in v1.7.0

type RoutesParameters struct {
}

func (*RoutesParameters) DeepCopy added in v1.7.0

func (in *RoutesParameters) DeepCopy() *RoutesParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutesParameters.

func (*RoutesParameters) DeepCopyInto added in v1.7.0

func (in *RoutesParameters) DeepCopyInto(out *RoutesParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourcePortRangeInitParameters added in v1.7.0

type SourcePortRangeInitParameters struct {

	// Starting port of the range
	FromPort *float64 `json:"fromPort,omitempty" tf:"from_port,omitempty"`

	// Ending port of the range
	ToPort *float64 `json:"toPort,omitempty" tf:"to_port,omitempty"`
}

func (*SourcePortRangeInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourcePortRangeInitParameters.

func (*SourcePortRangeInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourcePortRangeObservation added in v1.7.0

type SourcePortRangeObservation struct {

	// Starting port of the range
	FromPort *float64 `json:"fromPort,omitempty" tf:"from_port,omitempty"`

	// Ending port of the range
	ToPort *float64 `json:"toPort,omitempty" tf:"to_port,omitempty"`
}

func (*SourcePortRangeObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourcePortRangeObservation.

func (*SourcePortRangeObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SourcePortRangeParameters added in v1.7.0

type SourcePortRangeParameters struct {

	// Starting port of the range
	// +kubebuilder:validation:Optional
	FromPort *float64 `json:"fromPort,omitempty" tf:"from_port,omitempty"`

	// Ending port of the range
	// +kubebuilder:validation:Optional
	ToPort *float64 `json:"toPort,omitempty" tf:"to_port,omitempty"`
}

func (*SourcePortRangeParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourcePortRangeParameters.

func (*SourcePortRangeParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotFleetRequest added in v1.7.0

type SpotFleetRequest struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.iamFleetRole) || (has(self.initProvider) && has(self.initProvider.iamFleetRole))",message="spec.forProvider.iamFleetRole is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.targetCapacity) || (has(self.initProvider) && has(self.initProvider.targetCapacity))",message="spec.forProvider.targetCapacity is a required parameter"
	Spec   SpotFleetRequestSpec   `json:"spec"`
	Status SpotFleetRequestStatus `json:"status,omitempty"`
}

SpotFleetRequest is the Schema for the SpotFleetRequests API. Provides a Spot Fleet Request resource. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*SpotFleetRequest) DeepCopy added in v1.7.0

func (in *SpotFleetRequest) DeepCopy() *SpotFleetRequest

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotFleetRequest.

func (*SpotFleetRequest) DeepCopyInto added in v1.7.0

func (in *SpotFleetRequest) DeepCopyInto(out *SpotFleetRequest)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SpotFleetRequest) DeepCopyObject added in v1.7.0

func (in *SpotFleetRequest) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SpotFleetRequest) GetCondition added in v1.7.0

func (mg *SpotFleetRequest) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this SpotFleetRequest.

func (*SpotFleetRequest) GetConnectionDetailsMapping added in v1.7.0

func (tr *SpotFleetRequest) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this SpotFleetRequest

func (*SpotFleetRequest) GetDeletionPolicy added in v1.7.0

func (mg *SpotFleetRequest) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this SpotFleetRequest.

func (*SpotFleetRequest) GetID added in v1.7.0

func (tr *SpotFleetRequest) GetID() string

GetID returns ID of underlying Terraform resource of this SpotFleetRequest

func (*SpotFleetRequest) GetInitParameters added in v1.7.0

func (tr *SpotFleetRequest) GetInitParameters() (map[string]any, error)

GetInitParameters of this SpotFleetRequest

func (*SpotFleetRequest) GetManagementPolicies added in v1.7.0

func (mg *SpotFleetRequest) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this SpotFleetRequest.

func (*SpotFleetRequest) GetMergedParameters added in v1.7.0

func (tr *SpotFleetRequest) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this SpotFleetRequest

func (*SpotFleetRequest) GetObservation added in v1.7.0

func (tr *SpotFleetRequest) GetObservation() (map[string]any, error)

GetObservation of this SpotFleetRequest

func (*SpotFleetRequest) GetParameters added in v1.7.0

func (tr *SpotFleetRequest) GetParameters() (map[string]any, error)

GetParameters of this SpotFleetRequest

func (*SpotFleetRequest) GetProviderConfigReference added in v1.7.0

func (mg *SpotFleetRequest) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this SpotFleetRequest.

func (*SpotFleetRequest) GetPublishConnectionDetailsTo added in v1.7.0

func (mg *SpotFleetRequest) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this SpotFleetRequest.

func (*SpotFleetRequest) GetTerraformResourceType added in v1.7.0

func (mg *SpotFleetRequest) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this SpotFleetRequest

func (*SpotFleetRequest) GetTerraformSchemaVersion added in v1.7.0

func (tr *SpotFleetRequest) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*SpotFleetRequest) GetWriteConnectionSecretToReference added in v1.7.0

func (mg *SpotFleetRequest) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this SpotFleetRequest.

func (*SpotFleetRequest) Hub added in v1.7.0

func (tr *SpotFleetRequest) Hub()

Hub marks this type as a conversion hub.

func (*SpotFleetRequest) LateInitialize added in v1.7.0

func (tr *SpotFleetRequest) LateInitialize(attrs []byte) (bool, error)

LateInitialize this SpotFleetRequest using its observed tfState. returns True if there are any spec changes for the resource.

func (*SpotFleetRequest) ResolveReferences added in v1.7.0

func (mg *SpotFleetRequest) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this SpotFleetRequest.

func (*SpotFleetRequest) SetConditions added in v1.7.0

func (mg *SpotFleetRequest) SetConditions(c ...xpv1.Condition)

SetConditions of this SpotFleetRequest.

func (*SpotFleetRequest) SetDeletionPolicy added in v1.7.0

func (mg *SpotFleetRequest) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this SpotFleetRequest.

func (*SpotFleetRequest) SetManagementPolicies added in v1.7.0

func (mg *SpotFleetRequest) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this SpotFleetRequest.

func (*SpotFleetRequest) SetObservation added in v1.7.0

func (tr *SpotFleetRequest) SetObservation(obs map[string]any) error

SetObservation for this SpotFleetRequest

func (*SpotFleetRequest) SetParameters added in v1.7.0

func (tr *SpotFleetRequest) SetParameters(params map[string]any) error

SetParameters for this SpotFleetRequest

func (*SpotFleetRequest) SetProviderConfigReference added in v1.7.0

func (mg *SpotFleetRequest) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this SpotFleetRequest.

func (*SpotFleetRequest) SetPublishConnectionDetailsTo added in v1.7.0

func (mg *SpotFleetRequest) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this SpotFleetRequest.

func (*SpotFleetRequest) SetWriteConnectionSecretToReference added in v1.7.0

func (mg *SpotFleetRequest) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this SpotFleetRequest.

type SpotFleetRequestInitParameters added in v1.7.0

type SpotFleetRequestInitParameters struct {

	// Indicates how to allocate the target capacity across
	// the Spot pools specified by the Spot fleet request. Valid values: lowestPrice, diversified, capacityOptimized, capacityOptimizedPrioritized, and priceCapacityOptimized. The default is
	// lowestPrice.
	AllocationStrategy *string `json:"allocationStrategy,omitempty" tf:"allocation_strategy,omitempty"`

	// Reserved.
	Context *string `json:"context,omitempty" tf:"context,omitempty"`

	// Indicates whether running Spot
	// instances should be terminated if the target capacity of the Spot fleet
	// request is decreased below the current size of the Spot fleet.
	ExcessCapacityTerminationPolicy *string `json:"excessCapacityTerminationPolicy,omitempty" tf:"excess_capacity_termination_policy,omitempty"`

	// The type of fleet request. Indicates whether the Spot Fleet only requests the target
	// capacity or also attempts to maintain it. Default is maintain.
	FleetType *string `json:"fleetType,omitempty" tf:"fleet_type,omitempty"`

	// Grants the Spot fleet permission to terminate
	// Spot instances on your behalf when you cancel its Spot fleet request using
	// CancelSpotFleetRequests or when the Spot fleet request expires, if you set
	// terminateInstancesWithExpiration.
	IAMFleetRole *string `json:"iamFleetRole,omitempty" tf:"iam_fleet_role,omitempty"`

	// Indicates whether a Spot
	// instance stops or terminates when it is interrupted. Default is
	// terminate.
	InstanceInterruptionBehaviour *string `json:"instanceInterruptionBehaviour,omitempty" tf:"instance_interruption_behaviour,omitempty"`

	// The number of Spot pools across which to allocate your target Spot capacity.
	// Valid only when allocation_strategy is set to lowestPrice. Spot Fleet selects
	// the cheapest Spot pools and evenly allocates your target Spot capacity across
	// the number of Spot pools that you specify.
	InstancePoolsToUseCount *float64 `json:"instancePoolsToUseCount,omitempty" tf:"instance_pools_to_use_count,omitempty"`

	// Used to define the launch configuration of the
	// spot-fleet request. Can be specified multiple times to define different bids
	// across different markets and instance types. Conflicts with launch_template_config. At least one of launch_specification or launch_template_config is required.
	LaunchSpecification []LaunchSpecificationInitParameters `json:"launchSpecification,omitempty" tf:"launch_specification,omitempty"`

	// Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one of launch_specification or launch_template_config is required.
	LaunchTemplateConfig []LaunchTemplateConfigInitParameters `json:"launchTemplateConfig,omitempty" tf:"launch_template_config,omitempty"`

	// A list of elastic load balancer names to add to the Spot fleet.
	// +listType=set
	LoadBalancers []*string `json:"loadBalancers,omitempty" tf:"load_balancers,omitempty"`

	// The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPrice and prioritized. the default is lowestPrice.
	OnDemandAllocationStrategy *string `json:"onDemandAllocationStrategy,omitempty" tf:"on_demand_allocation_strategy,omitempty"`

	// The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
	OnDemandMaxTotalPrice *string `json:"onDemandMaxTotalPrice,omitempty" tf:"on_demand_max_total_price,omitempty"`

	// The number of On-Demand units to request. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.
	OnDemandTargetCapacity *float64 `json:"onDemandTargetCapacity,omitempty" tf:"on_demand_target_capacity,omitempty"`

	// Indicates whether Spot fleet should replace unhealthy instances. Default false.
	ReplaceUnhealthyInstances *bool `json:"replaceUnhealthyInstances,omitempty" tf:"replace_unhealthy_instances,omitempty"`

	// Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
	SpotMaintenanceStrategies *SpotMaintenanceStrategiesInitParameters `json:"spotMaintenanceStrategies,omitempty" tf:"spot_maintenance_strategies,omitempty"`

	// The maximum bid price per unit hour.
	SpotPrice *string `json:"spotPrice,omitempty" tf:"spot_price,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The number of units to request. You can choose to set the
	// target capacity in terms of instances or a performance characteristic that is
	// important to your application workload, such as vCPUs, memory, or I/O.
	TargetCapacity *float64 `json:"targetCapacity,omitempty" tf:"target_capacity,omitempty"`

	// The unit for the target capacity. This can only be done with instance_requirements defined
	TargetCapacityUnitType *string `json:"targetCapacityUnitType,omitempty" tf:"target_capacity_unit_type,omitempty"`

	// A list of aws_alb_target_group ARNs, for use with Application Load Balancing.
	// +listType=set
	TargetGroupArns []*string `json:"targetGroupArns,omitempty" tf:"target_group_arns,omitempty"`

	// Indicates whether running Spot
	// instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
	// If no value is specified, the value of the terminate_instances_with_expiration argument is used.
	TerminateInstancesOnDelete *string `json:"terminateInstancesOnDelete,omitempty" tf:"terminate_instances_on_delete,omitempty"`

	// Indicates whether running Spot
	// instances should be terminated when the Spot fleet request expires.
	TerminateInstancesWithExpiration *bool `json:"terminateInstancesWithExpiration,omitempty" tf:"terminate_instances_with_expiration,omitempty"`

	// The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
	ValidFrom *string `json:"validFrom,omitempty" tf:"valid_from,omitempty"`

	// The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request.
	ValidUntil *string `json:"validUntil,omitempty" tf:"valid_until,omitempty"`

	WaitForFulfillment *bool `json:"waitForFulfillment,omitempty" tf:"wait_for_fulfillment,omitempty"`
}

func (*SpotFleetRequestInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotFleetRequestInitParameters.

func (*SpotFleetRequestInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotFleetRequestList added in v1.7.0

type SpotFleetRequestList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SpotFleetRequest `json:"items"`
}

SpotFleetRequestList contains a list of SpotFleetRequests

func (*SpotFleetRequestList) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotFleetRequestList.

func (*SpotFleetRequestList) DeepCopyInto added in v1.7.0

func (in *SpotFleetRequestList) DeepCopyInto(out *SpotFleetRequestList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SpotFleetRequestList) DeepCopyObject added in v1.7.0

func (in *SpotFleetRequestList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SpotFleetRequestList) GetItems added in v1.7.0

func (l *SpotFleetRequestList) GetItems() []resource.Managed

GetItems of this SpotFleetRequestList.

type SpotFleetRequestObservation added in v1.7.0

type SpotFleetRequestObservation struct {

	// Indicates how to allocate the target capacity across
	// the Spot pools specified by the Spot fleet request. Valid values: lowestPrice, diversified, capacityOptimized, capacityOptimizedPrioritized, and priceCapacityOptimized. The default is
	// lowestPrice.
	AllocationStrategy *string `json:"allocationStrategy,omitempty" tf:"allocation_strategy,omitempty"`

	ClientToken *string `json:"clientToken,omitempty" tf:"client_token,omitempty"`

	// Reserved.
	Context *string `json:"context,omitempty" tf:"context,omitempty"`

	// Indicates whether running Spot
	// instances should be terminated if the target capacity of the Spot fleet
	// request is decreased below the current size of the Spot fleet.
	ExcessCapacityTerminationPolicy *string `json:"excessCapacityTerminationPolicy,omitempty" tf:"excess_capacity_termination_policy,omitempty"`

	// The type of fleet request. Indicates whether the Spot Fleet only requests the target
	// capacity or also attempts to maintain it. Default is maintain.
	FleetType *string `json:"fleetType,omitempty" tf:"fleet_type,omitempty"`

	// Grants the Spot fleet permission to terminate
	// Spot instances on your behalf when you cancel its Spot fleet request using
	// CancelSpotFleetRequests or when the Spot fleet request expires, if you set
	// terminateInstancesWithExpiration.
	IAMFleetRole *string `json:"iamFleetRole,omitempty" tf:"iam_fleet_role,omitempty"`

	// The ID of the launch template. Conflicts with name.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Indicates whether a Spot
	// instance stops or terminates when it is interrupted. Default is
	// terminate.
	InstanceInterruptionBehaviour *string `json:"instanceInterruptionBehaviour,omitempty" tf:"instance_interruption_behaviour,omitempty"`

	// The number of Spot pools across which to allocate your target Spot capacity.
	// Valid only when allocation_strategy is set to lowestPrice. Spot Fleet selects
	// the cheapest Spot pools and evenly allocates your target Spot capacity across
	// the number of Spot pools that you specify.
	InstancePoolsToUseCount *float64 `json:"instancePoolsToUseCount,omitempty" tf:"instance_pools_to_use_count,omitempty"`

	// Used to define the launch configuration of the
	// spot-fleet request. Can be specified multiple times to define different bids
	// across different markets and instance types. Conflicts with launch_template_config. At least one of launch_specification or launch_template_config is required.
	LaunchSpecification []LaunchSpecificationObservation `json:"launchSpecification,omitempty" tf:"launch_specification,omitempty"`

	// Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one of launch_specification or launch_template_config is required.
	LaunchTemplateConfig []LaunchTemplateConfigObservation `json:"launchTemplateConfig,omitempty" tf:"launch_template_config,omitempty"`

	// A list of elastic load balancer names to add to the Spot fleet.
	// +listType=set
	LoadBalancers []*string `json:"loadBalancers,omitempty" tf:"load_balancers,omitempty"`

	// The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPrice and prioritized. the default is lowestPrice.
	OnDemandAllocationStrategy *string `json:"onDemandAllocationStrategy,omitempty" tf:"on_demand_allocation_strategy,omitempty"`

	// The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
	OnDemandMaxTotalPrice *string `json:"onDemandMaxTotalPrice,omitempty" tf:"on_demand_max_total_price,omitempty"`

	// The number of On-Demand units to request. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.
	OnDemandTargetCapacity *float64 `json:"onDemandTargetCapacity,omitempty" tf:"on_demand_target_capacity,omitempty"`

	// Indicates whether Spot fleet should replace unhealthy instances. Default false.
	ReplaceUnhealthyInstances *bool `json:"replaceUnhealthyInstances,omitempty" tf:"replace_unhealthy_instances,omitempty"`

	// Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
	SpotMaintenanceStrategies *SpotMaintenanceStrategiesObservation `json:"spotMaintenanceStrategies,omitempty" tf:"spot_maintenance_strategies,omitempty"`

	// The maximum bid price per unit hour.
	SpotPrice *string `json:"spotPrice,omitempty" tf:"spot_price,omitempty"`

	// The state of the Spot fleet request.
	SpotRequestState *string `json:"spotRequestState,omitempty" tf:"spot_request_state,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// The number of units to request. You can choose to set the
	// target capacity in terms of instances or a performance characteristic that is
	// important to your application workload, such as vCPUs, memory, or I/O.
	TargetCapacity *float64 `json:"targetCapacity,omitempty" tf:"target_capacity,omitempty"`

	// The unit for the target capacity. This can only be done with instance_requirements defined
	TargetCapacityUnitType *string `json:"targetCapacityUnitType,omitempty" tf:"target_capacity_unit_type,omitempty"`

	// A list of aws_alb_target_group ARNs, for use with Application Load Balancing.
	// +listType=set
	TargetGroupArns []*string `json:"targetGroupArns,omitempty" tf:"target_group_arns,omitempty"`

	// Indicates whether running Spot
	// instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
	// If no value is specified, the value of the terminate_instances_with_expiration argument is used.
	TerminateInstancesOnDelete *string `json:"terminateInstancesOnDelete,omitempty" tf:"terminate_instances_on_delete,omitempty"`

	// Indicates whether running Spot
	// instances should be terminated when the Spot fleet request expires.
	TerminateInstancesWithExpiration *bool `json:"terminateInstancesWithExpiration,omitempty" tf:"terminate_instances_with_expiration,omitempty"`

	// The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
	ValidFrom *string `json:"validFrom,omitempty" tf:"valid_from,omitempty"`

	// The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request.
	ValidUntil *string `json:"validUntil,omitempty" tf:"valid_until,omitempty"`

	WaitForFulfillment *bool `json:"waitForFulfillment,omitempty" tf:"wait_for_fulfillment,omitempty"`
}

func (*SpotFleetRequestObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotFleetRequestObservation.

func (*SpotFleetRequestObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotFleetRequestParameters added in v1.7.0

type SpotFleetRequestParameters struct {

	// Indicates how to allocate the target capacity across
	// the Spot pools specified by the Spot fleet request. Valid values: lowestPrice, diversified, capacityOptimized, capacityOptimizedPrioritized, and priceCapacityOptimized. The default is
	// lowestPrice.
	// +kubebuilder:validation:Optional
	AllocationStrategy *string `json:"allocationStrategy,omitempty" tf:"allocation_strategy,omitempty"`

	// Reserved.
	// +kubebuilder:validation:Optional
	Context *string `json:"context,omitempty" tf:"context,omitempty"`

	// Indicates whether running Spot
	// instances should be terminated if the target capacity of the Spot fleet
	// request is decreased below the current size of the Spot fleet.
	// +kubebuilder:validation:Optional
	ExcessCapacityTerminationPolicy *string `json:"excessCapacityTerminationPolicy,omitempty" tf:"excess_capacity_termination_policy,omitempty"`

	// The type of fleet request. Indicates whether the Spot Fleet only requests the target
	// capacity or also attempts to maintain it. Default is maintain.
	// +kubebuilder:validation:Optional
	FleetType *string `json:"fleetType,omitempty" tf:"fleet_type,omitempty"`

	// Grants the Spot fleet permission to terminate
	// Spot instances on your behalf when you cancel its Spot fleet request using
	// CancelSpotFleetRequests or when the Spot fleet request expires, if you set
	// terminateInstancesWithExpiration.
	// +kubebuilder:validation:Optional
	IAMFleetRole *string `json:"iamFleetRole,omitempty" tf:"iam_fleet_role,omitempty"`

	// Indicates whether a Spot
	// instance stops or terminates when it is interrupted. Default is
	// terminate.
	// +kubebuilder:validation:Optional
	InstanceInterruptionBehaviour *string `json:"instanceInterruptionBehaviour,omitempty" tf:"instance_interruption_behaviour,omitempty"`

	// The number of Spot pools across which to allocate your target Spot capacity.
	// Valid only when allocation_strategy is set to lowestPrice. Spot Fleet selects
	// the cheapest Spot pools and evenly allocates your target Spot capacity across
	// the number of Spot pools that you specify.
	// +kubebuilder:validation:Optional
	InstancePoolsToUseCount *float64 `json:"instancePoolsToUseCount,omitempty" tf:"instance_pools_to_use_count,omitempty"`

	// Used to define the launch configuration of the
	// spot-fleet request. Can be specified multiple times to define different bids
	// across different markets and instance types. Conflicts with launch_template_config. At least one of launch_specification or launch_template_config is required.
	// +kubebuilder:validation:Optional
	LaunchSpecification []LaunchSpecificationParameters `json:"launchSpecification,omitempty" tf:"launch_specification,omitempty"`

	// Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one of launch_specification or launch_template_config is required.
	// +kubebuilder:validation:Optional
	LaunchTemplateConfig []LaunchTemplateConfigParameters `json:"launchTemplateConfig,omitempty" tf:"launch_template_config,omitempty"`

	// A list of elastic load balancer names to add to the Spot fleet.
	// +kubebuilder:validation:Optional
	// +listType=set
	LoadBalancers []*string `json:"loadBalancers,omitempty" tf:"load_balancers,omitempty"`

	// The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPrice and prioritized. the default is lowestPrice.
	// +kubebuilder:validation:Optional
	OnDemandAllocationStrategy *string `json:"onDemandAllocationStrategy,omitempty" tf:"on_demand_allocation_strategy,omitempty"`

	// The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
	// +kubebuilder:validation:Optional
	OnDemandMaxTotalPrice *string `json:"onDemandMaxTotalPrice,omitempty" tf:"on_demand_max_total_price,omitempty"`

	// The number of On-Demand units to request. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.
	// +kubebuilder:validation:Optional
	OnDemandTargetCapacity *float64 `json:"onDemandTargetCapacity,omitempty" tf:"on_demand_target_capacity,omitempty"`

	// Region is the region you'd like your resource to be created in.
	// +upjet:crd:field:TFTag=-
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"-"`

	// Indicates whether Spot fleet should replace unhealthy instances. Default false.
	// +kubebuilder:validation:Optional
	ReplaceUnhealthyInstances *bool `json:"replaceUnhealthyInstances,omitempty" tf:"replace_unhealthy_instances,omitempty"`

	// Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
	// +kubebuilder:validation:Optional
	SpotMaintenanceStrategies *SpotMaintenanceStrategiesParameters `json:"spotMaintenanceStrategies,omitempty" tf:"spot_maintenance_strategies,omitempty"`

	// The maximum bid price per unit hour.
	// +kubebuilder:validation:Optional
	SpotPrice *string `json:"spotPrice,omitempty" tf:"spot_price,omitempty"`

	// Key-value map of resource tags.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The number of units to request. You can choose to set the
	// target capacity in terms of instances or a performance characteristic that is
	// important to your application workload, such as vCPUs, memory, or I/O.
	// +kubebuilder:validation:Optional
	TargetCapacity *float64 `json:"targetCapacity,omitempty" tf:"target_capacity,omitempty"`

	// The unit for the target capacity. This can only be done with instance_requirements defined
	// +kubebuilder:validation:Optional
	TargetCapacityUnitType *string `json:"targetCapacityUnitType,omitempty" tf:"target_capacity_unit_type,omitempty"`

	// A list of aws_alb_target_group ARNs, for use with Application Load Balancing.
	// +kubebuilder:validation:Optional
	// +listType=set
	TargetGroupArns []*string `json:"targetGroupArns,omitempty" tf:"target_group_arns,omitempty"`

	// Indicates whether running Spot
	// instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
	// If no value is specified, the value of the terminate_instances_with_expiration argument is used.
	// +kubebuilder:validation:Optional
	TerminateInstancesOnDelete *string `json:"terminateInstancesOnDelete,omitempty" tf:"terminate_instances_on_delete,omitempty"`

	// Indicates whether running Spot
	// instances should be terminated when the Spot fleet request expires.
	// +kubebuilder:validation:Optional
	TerminateInstancesWithExpiration *bool `json:"terminateInstancesWithExpiration,omitempty" tf:"terminate_instances_with_expiration,omitempty"`

	// The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
	// +kubebuilder:validation:Optional
	ValidFrom *string `json:"validFrom,omitempty" tf:"valid_from,omitempty"`

	// The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request.
	// +kubebuilder:validation:Optional
	ValidUntil *string `json:"validUntil,omitempty" tf:"valid_until,omitempty"`

	// +kubebuilder:validation:Optional
	WaitForFulfillment *bool `json:"waitForFulfillment,omitempty" tf:"wait_for_fulfillment,omitempty"`
}

func (*SpotFleetRequestParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotFleetRequestParameters.

func (*SpotFleetRequestParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotFleetRequestSpec added in v1.7.0

type SpotFleetRequestSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     SpotFleetRequestParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider SpotFleetRequestInitParameters `json:"initProvider,omitempty"`
}

SpotFleetRequestSpec defines the desired state of SpotFleetRequest

func (*SpotFleetRequestSpec) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotFleetRequestSpec.

func (*SpotFleetRequestSpec) DeepCopyInto added in v1.7.0

func (in *SpotFleetRequestSpec) DeepCopyInto(out *SpotFleetRequestSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotFleetRequestStatus added in v1.7.0

type SpotFleetRequestStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        SpotFleetRequestObservation `json:"atProvider,omitempty"`
}

SpotFleetRequestStatus defines the observed state of SpotFleetRequest.

func (*SpotFleetRequestStatus) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotFleetRequestStatus.

func (*SpotFleetRequestStatus) DeepCopyInto added in v1.7.0

func (in *SpotFleetRequestStatus) DeepCopyInto(out *SpotFleetRequestStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequest added in v1.7.0

type SpotInstanceRequest struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              SpotInstanceRequestSpec   `json:"spec"`
	Status            SpotInstanceRequestStatus `json:"status,omitempty"`
}

SpotInstanceRequest is the Schema for the SpotInstanceRequests API. Provides a Spot Instance Request resource. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*SpotInstanceRequest) DeepCopy added in v1.7.0

func (in *SpotInstanceRequest) DeepCopy() *SpotInstanceRequest

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequest.

func (*SpotInstanceRequest) DeepCopyInto added in v1.7.0

func (in *SpotInstanceRequest) DeepCopyInto(out *SpotInstanceRequest)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SpotInstanceRequest) DeepCopyObject added in v1.7.0

func (in *SpotInstanceRequest) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SpotInstanceRequest) GetCondition added in v1.7.0

func (mg *SpotInstanceRequest) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this SpotInstanceRequest.

func (*SpotInstanceRequest) GetConnectionDetailsMapping added in v1.7.0

func (tr *SpotInstanceRequest) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this SpotInstanceRequest

func (*SpotInstanceRequest) GetDeletionPolicy added in v1.7.0

func (mg *SpotInstanceRequest) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this SpotInstanceRequest.

func (*SpotInstanceRequest) GetID added in v1.7.0

func (tr *SpotInstanceRequest) GetID() string

GetID returns ID of underlying Terraform resource of this SpotInstanceRequest

func (*SpotInstanceRequest) GetInitParameters added in v1.7.0

func (tr *SpotInstanceRequest) GetInitParameters() (map[string]any, error)

GetInitParameters of this SpotInstanceRequest

func (*SpotInstanceRequest) GetManagementPolicies added in v1.7.0

func (mg *SpotInstanceRequest) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this SpotInstanceRequest.

func (*SpotInstanceRequest) GetMergedParameters added in v1.7.0

func (tr *SpotInstanceRequest) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this SpotInstanceRequest

func (*SpotInstanceRequest) GetObservation added in v1.7.0

func (tr *SpotInstanceRequest) GetObservation() (map[string]any, error)

GetObservation of this SpotInstanceRequest

func (*SpotInstanceRequest) GetParameters added in v1.7.0

func (tr *SpotInstanceRequest) GetParameters() (map[string]any, error)

GetParameters of this SpotInstanceRequest

func (*SpotInstanceRequest) GetProviderConfigReference added in v1.7.0

func (mg *SpotInstanceRequest) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this SpotInstanceRequest.

func (*SpotInstanceRequest) GetPublishConnectionDetailsTo added in v1.7.0

func (mg *SpotInstanceRequest) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this SpotInstanceRequest.

func (*SpotInstanceRequest) GetTerraformResourceType added in v1.7.0

func (mg *SpotInstanceRequest) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this SpotInstanceRequest

func (*SpotInstanceRequest) GetTerraformSchemaVersion added in v1.7.0

func (tr *SpotInstanceRequest) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*SpotInstanceRequest) GetWriteConnectionSecretToReference added in v1.7.0

func (mg *SpotInstanceRequest) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this SpotInstanceRequest.

func (*SpotInstanceRequest) Hub added in v1.7.0

func (tr *SpotInstanceRequest) Hub()

Hub marks this type as a conversion hub.

func (*SpotInstanceRequest) LateInitialize added in v1.7.0

func (tr *SpotInstanceRequest) LateInitialize(attrs []byte) (bool, error)

LateInitialize this SpotInstanceRequest using its observed tfState. returns True if there are any spec changes for the resource.

func (*SpotInstanceRequest) ResolveReferences added in v1.7.0

func (mg *SpotInstanceRequest) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this SpotInstanceRequest.

func (*SpotInstanceRequest) SetConditions added in v1.7.0

func (mg *SpotInstanceRequest) SetConditions(c ...xpv1.Condition)

SetConditions of this SpotInstanceRequest.

func (*SpotInstanceRequest) SetDeletionPolicy added in v1.7.0

func (mg *SpotInstanceRequest) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this SpotInstanceRequest.

func (*SpotInstanceRequest) SetManagementPolicies added in v1.7.0

func (mg *SpotInstanceRequest) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this SpotInstanceRequest.

func (*SpotInstanceRequest) SetObservation added in v1.7.0

func (tr *SpotInstanceRequest) SetObservation(obs map[string]any) error

SetObservation for this SpotInstanceRequest

func (*SpotInstanceRequest) SetParameters added in v1.7.0

func (tr *SpotInstanceRequest) SetParameters(params map[string]any) error

SetParameters for this SpotInstanceRequest

func (*SpotInstanceRequest) SetProviderConfigReference added in v1.7.0

func (mg *SpotInstanceRequest) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this SpotInstanceRequest.

func (*SpotInstanceRequest) SetPublishConnectionDetailsTo added in v1.7.0

func (mg *SpotInstanceRequest) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this SpotInstanceRequest.

func (*SpotInstanceRequest) SetWriteConnectionSecretToReference added in v1.7.0

func (mg *SpotInstanceRequest) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this SpotInstanceRequest.

type SpotInstanceRequestCPUOptionsInitParameters added in v1.7.0

type SpotInstanceRequestCPUOptionsInitParameters struct {
	AmdSevSnp *string `json:"amdSevSnp,omitempty" tf:"amd_sev_snp,omitempty"`

	CoreCount *float64 `json:"coreCount,omitempty" tf:"core_count,omitempty"`

	ThreadsPerCore *float64 `json:"threadsPerCore,omitempty" tf:"threads_per_core,omitempty"`
}

func (*SpotInstanceRequestCPUOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestCPUOptionsInitParameters.

func (*SpotInstanceRequestCPUOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestCPUOptionsObservation added in v1.7.0

type SpotInstanceRequestCPUOptionsObservation struct {
	AmdSevSnp *string `json:"amdSevSnp,omitempty" tf:"amd_sev_snp,omitempty"`

	CoreCount *float64 `json:"coreCount,omitempty" tf:"core_count,omitempty"`

	ThreadsPerCore *float64 `json:"threadsPerCore,omitempty" tf:"threads_per_core,omitempty"`
}

func (*SpotInstanceRequestCPUOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestCPUOptionsObservation.

func (*SpotInstanceRequestCPUOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestCPUOptionsParameters added in v1.7.0

type SpotInstanceRequestCPUOptionsParameters struct {

	// +kubebuilder:validation:Optional
	AmdSevSnp *string `json:"amdSevSnp,omitempty" tf:"amd_sev_snp,omitempty"`

	// +kubebuilder:validation:Optional
	CoreCount *float64 `json:"coreCount,omitempty" tf:"core_count,omitempty"`

	// +kubebuilder:validation:Optional
	ThreadsPerCore *float64 `json:"threadsPerCore,omitempty" tf:"threads_per_core,omitempty"`
}

func (*SpotInstanceRequestCPUOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestCPUOptionsParameters.

func (*SpotInstanceRequestCPUOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetInitParameters added in v1.7.0

type SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetInitParameters struct {

	// The Spot Instance Request ID.
	CapacityReservationID *string `json:"capacityReservationId,omitempty" tf:"capacity_reservation_id,omitempty"`

	CapacityReservationResourceGroupArn *string `json:"capacityReservationResourceGroupArn,omitempty" tf:"capacity_reservation_resource_group_arn,omitempty"`
}

func (*SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetInitParameters.

func (*SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetObservation added in v1.7.0

type SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetObservation struct {

	// The Spot Instance Request ID.
	CapacityReservationID *string `json:"capacityReservationId,omitempty" tf:"capacity_reservation_id,omitempty"`

	CapacityReservationResourceGroupArn *string `json:"capacityReservationResourceGroupArn,omitempty" tf:"capacity_reservation_resource_group_arn,omitempty"`
}

func (*SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetObservation.

func (*SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetParameters added in v1.7.0

type SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetParameters struct {

	// The Spot Instance Request ID.
	// +kubebuilder:validation:Optional
	CapacityReservationID *string `json:"capacityReservationId,omitempty" tf:"capacity_reservation_id,omitempty"`

	// +kubebuilder:validation:Optional
	CapacityReservationResourceGroupArn *string `json:"capacityReservationResourceGroupArn,omitempty" tf:"capacity_reservation_resource_group_arn,omitempty"`
}

func (*SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetParameters.

func (*SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestCapacityReservationSpecificationInitParameters added in v1.7.0

type SpotInstanceRequestCapacityReservationSpecificationInitParameters struct {
	CapacityReservationPreference *string `json:"capacityReservationPreference,omitempty" tf:"capacity_reservation_preference,omitempty"`

	CapacityReservationTarget *SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetInitParameters `json:"capacityReservationTarget,omitempty" tf:"capacity_reservation_target,omitempty"`
}

func (*SpotInstanceRequestCapacityReservationSpecificationInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestCapacityReservationSpecificationInitParameters.

func (*SpotInstanceRequestCapacityReservationSpecificationInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestCapacityReservationSpecificationObservation added in v1.7.0

type SpotInstanceRequestCapacityReservationSpecificationObservation struct {
	CapacityReservationPreference *string `json:"capacityReservationPreference,omitempty" tf:"capacity_reservation_preference,omitempty"`

	CapacityReservationTarget *SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetObservation `json:"capacityReservationTarget,omitempty" tf:"capacity_reservation_target,omitempty"`
}

func (*SpotInstanceRequestCapacityReservationSpecificationObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestCapacityReservationSpecificationObservation.

func (*SpotInstanceRequestCapacityReservationSpecificationObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestCapacityReservationSpecificationParameters added in v1.7.0

type SpotInstanceRequestCapacityReservationSpecificationParameters struct {

	// +kubebuilder:validation:Optional
	CapacityReservationPreference *string `json:"capacityReservationPreference,omitempty" tf:"capacity_reservation_preference,omitempty"`

	// +kubebuilder:validation:Optional
	CapacityReservationTarget *SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetParameters `json:"capacityReservationTarget,omitempty" tf:"capacity_reservation_target,omitempty"`
}

func (*SpotInstanceRequestCapacityReservationSpecificationParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestCapacityReservationSpecificationParameters.

func (*SpotInstanceRequestCapacityReservationSpecificationParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestCreditSpecificationInitParameters added in v1.7.0

type SpotInstanceRequestCreditSpecificationInitParameters struct {
	CPUCredits *string `json:"cpuCredits,omitempty" tf:"cpu_credits,omitempty"`
}

func (*SpotInstanceRequestCreditSpecificationInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestCreditSpecificationInitParameters.

func (*SpotInstanceRequestCreditSpecificationInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestCreditSpecificationObservation added in v1.7.0

type SpotInstanceRequestCreditSpecificationObservation struct {
	CPUCredits *string `json:"cpuCredits,omitempty" tf:"cpu_credits,omitempty"`
}

func (*SpotInstanceRequestCreditSpecificationObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestCreditSpecificationObservation.

func (*SpotInstanceRequestCreditSpecificationObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestCreditSpecificationParameters added in v1.7.0

type SpotInstanceRequestCreditSpecificationParameters struct {

	// +kubebuilder:validation:Optional
	CPUCredits *string `json:"cpuCredits,omitempty" tf:"cpu_credits,omitempty"`
}

func (*SpotInstanceRequestCreditSpecificationParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestCreditSpecificationParameters.

func (*SpotInstanceRequestCreditSpecificationParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestEBSBlockDeviceInitParameters added in v1.7.0

type SpotInstanceRequestEBSBlockDeviceInitParameters struct {
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// The Spot Instance Request ID.
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// The Spot Instance Request ID.
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*SpotInstanceRequestEBSBlockDeviceInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestEBSBlockDeviceInitParameters.

func (*SpotInstanceRequestEBSBlockDeviceInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestEBSBlockDeviceObservation added in v1.7.0

type SpotInstanceRequestEBSBlockDeviceObservation struct {
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// The Spot Instance Request ID.
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// The Spot Instance Request ID.
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	// The Spot Instance Request ID.
	VolumeID *string `json:"volumeId,omitempty" tf:"volume_id,omitempty"`

	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*SpotInstanceRequestEBSBlockDeviceObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestEBSBlockDeviceObservation.

func (*SpotInstanceRequestEBSBlockDeviceObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestEBSBlockDeviceParameters added in v1.7.0

type SpotInstanceRequestEBSBlockDeviceParameters struct {

	// +kubebuilder:validation:Optional
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// +kubebuilder:validation:Optional
	DeviceName *string `json:"deviceName" tf:"device_name,omitempty"`

	// +kubebuilder:validation:Optional
	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// +kubebuilder:validation:Optional
	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// The Spot Instance Request ID.
	// +kubebuilder:validation:Optional
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// The Spot Instance Request ID.
	// +kubebuilder:validation:Optional
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	// Key-value map of resource tags.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// +kubebuilder:validation:Optional
	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	// +kubebuilder:validation:Optional
	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	// +kubebuilder:validation:Optional
	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*SpotInstanceRequestEBSBlockDeviceParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestEBSBlockDeviceParameters.

func (*SpotInstanceRequestEBSBlockDeviceParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestEnclaveOptionsInitParameters added in v1.7.0

type SpotInstanceRequestEnclaveOptionsInitParameters struct {
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`
}

func (*SpotInstanceRequestEnclaveOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestEnclaveOptionsInitParameters.

func (*SpotInstanceRequestEnclaveOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestEnclaveOptionsObservation added in v1.7.0

type SpotInstanceRequestEnclaveOptionsObservation struct {
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`
}

func (*SpotInstanceRequestEnclaveOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestEnclaveOptionsObservation.

func (*SpotInstanceRequestEnclaveOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestEnclaveOptionsParameters added in v1.7.0

type SpotInstanceRequestEnclaveOptionsParameters struct {

	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`
}

func (*SpotInstanceRequestEnclaveOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestEnclaveOptionsParameters.

func (*SpotInstanceRequestEnclaveOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestEphemeralBlockDeviceInitParameters added in v1.7.0

type SpotInstanceRequestEphemeralBlockDeviceInitParameters struct {
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	NoDevice *bool `json:"noDevice,omitempty" tf:"no_device,omitempty"`

	VirtualName *string `json:"virtualName,omitempty" tf:"virtual_name,omitempty"`
}

func (*SpotInstanceRequestEphemeralBlockDeviceInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestEphemeralBlockDeviceInitParameters.

func (*SpotInstanceRequestEphemeralBlockDeviceInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestEphemeralBlockDeviceObservation added in v1.7.0

type SpotInstanceRequestEphemeralBlockDeviceObservation struct {
	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	NoDevice *bool `json:"noDevice,omitempty" tf:"no_device,omitempty"`

	VirtualName *string `json:"virtualName,omitempty" tf:"virtual_name,omitempty"`
}

func (*SpotInstanceRequestEphemeralBlockDeviceObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestEphemeralBlockDeviceObservation.

func (*SpotInstanceRequestEphemeralBlockDeviceObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestEphemeralBlockDeviceParameters added in v1.7.0

type SpotInstanceRequestEphemeralBlockDeviceParameters struct {

	// +kubebuilder:validation:Optional
	DeviceName *string `json:"deviceName" tf:"device_name,omitempty"`

	// +kubebuilder:validation:Optional
	NoDevice *bool `json:"noDevice,omitempty" tf:"no_device,omitempty"`

	// +kubebuilder:validation:Optional
	VirtualName *string `json:"virtualName,omitempty" tf:"virtual_name,omitempty"`
}

func (*SpotInstanceRequestEphemeralBlockDeviceParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestEphemeralBlockDeviceParameters.

func (*SpotInstanceRequestEphemeralBlockDeviceParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestInitParameters added in v1.7.0

type SpotInstanceRequestInitParameters struct {
	AMI *string `json:"ami,omitempty" tf:"ami,omitempty"`

	AssociatePublicIPAddress *bool `json:"associatePublicIpAddress,omitempty" tf:"associate_public_ip_address,omitempty"`

	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).
	// The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
	// Note that you can't specify an Availability Zone group or a launch group if you specify a duration.
	BlockDurationMinutes *float64 `json:"blockDurationMinutes,omitempty" tf:"block_duration_minutes,omitempty"`

	CPUCoreCount *float64 `json:"cpuCoreCount,omitempty" tf:"cpu_core_count,omitempty"`

	CPUOptions *SpotInstanceRequestCPUOptionsInitParameters `json:"cpuOptions,omitempty" tf:"cpu_options,omitempty"`

	CPUThreadsPerCore *float64 `json:"cpuThreadsPerCore,omitempty" tf:"cpu_threads_per_core,omitempty"`

	CapacityReservationSpecification *SpotInstanceRequestCapacityReservationSpecificationInitParameters `json:"capacityReservationSpecification,omitempty" tf:"capacity_reservation_specification,omitempty"`

	CreditSpecification *SpotInstanceRequestCreditSpecificationInitParameters `json:"creditSpecification,omitempty" tf:"credit_specification,omitempty"`

	DisableAPIStop *bool `json:"disableApiStop,omitempty" tf:"disable_api_stop,omitempty"`

	DisableAPITermination *bool `json:"disableApiTermination,omitempty" tf:"disable_api_termination,omitempty"`

	EBSBlockDevice []SpotInstanceRequestEBSBlockDeviceInitParameters `json:"ebsBlockDevice,omitempty" tf:"ebs_block_device,omitempty"`

	EBSOptimized *bool `json:"ebsOptimized,omitempty" tf:"ebs_optimized,omitempty"`

	EnclaveOptions *SpotInstanceRequestEnclaveOptionsInitParameters `json:"enclaveOptions,omitempty" tf:"enclave_options,omitempty"`

	EphemeralBlockDevice []SpotInstanceRequestEphemeralBlockDeviceInitParameters `json:"ephemeralBlockDevice,omitempty" tf:"ephemeral_block_device,omitempty"`

	GetPasswordData *bool `json:"getPasswordData,omitempty" tf:"get_password_data,omitempty"`

	Hibernation *bool `json:"hibernation,omitempty" tf:"hibernation,omitempty"`

	// The Spot Instance Request ID.
	HostID *string `json:"hostId,omitempty" tf:"host_id,omitempty"`

	HostResourceGroupArn *string `json:"hostResourceGroupArn,omitempty" tf:"host_resource_group_arn,omitempty"`

	IAMInstanceProfile *string `json:"iamInstanceProfile,omitempty" tf:"iam_instance_profile,omitempty"`

	IPv6AddressCount *float64 `json:"ipv6AddressCount,omitempty" tf:"ipv6_address_count,omitempty"`

	IPv6Addresses []*string `json:"ipv6Addresses,omitempty" tf:"ipv6_addresses,omitempty"`

	InstanceInitiatedShutdownBehavior *string `json:"instanceInitiatedShutdownBehavior,omitempty" tf:"instance_initiated_shutdown_behavior,omitempty"`

	// Indicates Spot instance behavior when it is interrupted. Valid values are terminate, stop, or hibernate. Default value is terminate.
	InstanceInterruptionBehavior *string `json:"instanceInterruptionBehavior,omitempty" tf:"instance_interruption_behavior,omitempty"`

	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	// A launch group is a group of spot instances that launch together and terminate together.
	// If left empty instances are launched and terminated individually.
	LaunchGroup *string `json:"launchGroup,omitempty" tf:"launch_group,omitempty"`

	LaunchTemplate *SpotInstanceRequestLaunchTemplateInitParameters `json:"launchTemplate,omitempty" tf:"launch_template,omitempty"`

	MaintenanceOptions *SpotInstanceRequestMaintenanceOptionsInitParameters `json:"maintenanceOptions,omitempty" tf:"maintenance_options,omitempty"`

	MetadataOptions *SpotInstanceRequestMetadataOptionsInitParameters `json:"metadataOptions,omitempty" tf:"metadata_options,omitempty"`

	Monitoring *bool `json:"monitoring,omitempty" tf:"monitoring,omitempty"`

	NetworkInterface []SpotInstanceRequestNetworkInterfaceInitParameters `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	PlacementGroup *string `json:"placementGroup,omitempty" tf:"placement_group,omitempty"`

	PlacementPartitionNumber *float64 `json:"placementPartitionNumber,omitempty" tf:"placement_partition_number,omitempty"`

	PrivateDNSNameOptions *SpotInstanceRequestPrivateDNSNameOptionsInitParameters `json:"privateDnsNameOptions,omitempty" tf:"private_dns_name_options,omitempty"`

	// The private IP address assigned to the instance
	PrivateIP *string `json:"privateIp,omitempty" tf:"private_ip,omitempty"`

	RootBlockDevice *SpotInstanceRequestRootBlockDeviceInitParameters `json:"rootBlockDevice,omitempty" tf:"root_block_device,omitempty"`

	// +listType=set
	SecondaryPrivateIps []*string `json:"secondaryPrivateIps,omitempty" tf:"secondary_private_ips,omitempty"`

	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	SourceDestCheck *bool `json:"sourceDestCheck,omitempty" tf:"source_dest_check,omitempty"`

	// The maximum price to request on the spot market.
	SpotPrice *string `json:"spotPrice,omitempty" tf:"spot_price,omitempty"`

	// If set to one-time, after
	// the instance is terminated, the spot request will be closed.
	SpotType *string `json:"spotType,omitempty" tf:"spot_type,omitempty"`

	// The Spot Instance Request ID.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.Subnet
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in ec2 to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in ec2 to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	Tenancy *string `json:"tenancy,omitempty" tf:"tenancy,omitempty"`

	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	UserDataBase64 *string `json:"userDataBase64,omitempty" tf:"user_data_base64,omitempty"`

	UserDataReplaceOnChange *bool `json:"userDataReplaceOnChange,omitempty" tf:"user_data_replace_on_change,omitempty"`

	// References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.
	// +kubebuilder:validation:Optional
	VPCSecurityGroupIDRefs []v1.Reference `json:"vpcSecurityGroupIdRefs,omitempty" tf:"-"`

	// Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.
	// +kubebuilder:validation:Optional
	VPCSecurityGroupIDSelector *v1.Selector `json:"vpcSecurityGroupIdSelector,omitempty" tf:"-"`

	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup
	// +crossplane:generate:reference:refFieldName=VPCSecurityGroupIDRefs
	// +crossplane:generate:reference:selectorFieldName=VPCSecurityGroupIDSelector
	// +listType=set
	VPCSecurityGroupIds []*string `json:"vpcSecurityGroupIds,omitempty" tf:"vpc_security_group_ids,omitempty"`

	// The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
	ValidFrom *string `json:"validFrom,omitempty" tf:"valid_from,omitempty"`

	// The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request. The default end date is 7 days from the current date.
	ValidUntil *string `json:"validUntil,omitempty" tf:"valid_until,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	VolumeTags map[string]*string `json:"volumeTags,omitempty" tf:"volume_tags,omitempty"`

	WaitForFulfillment *bool `json:"waitForFulfillment,omitempty" tf:"wait_for_fulfillment,omitempty"`
}

func (*SpotInstanceRequestInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestInitParameters.

func (*SpotInstanceRequestInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestLaunchTemplateInitParameters added in v1.7.0

type SpotInstanceRequestLaunchTemplateInitParameters struct {

	// The Spot Instance Request ID.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*SpotInstanceRequestLaunchTemplateInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestLaunchTemplateInitParameters.

func (*SpotInstanceRequestLaunchTemplateInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestLaunchTemplateObservation added in v1.7.0

type SpotInstanceRequestLaunchTemplateObservation struct {

	// The Spot Instance Request ID.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*SpotInstanceRequestLaunchTemplateObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestLaunchTemplateObservation.

func (*SpotInstanceRequestLaunchTemplateObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestLaunchTemplateParameters added in v1.7.0

type SpotInstanceRequestLaunchTemplateParameters struct {

	// The Spot Instance Request ID.
	// +kubebuilder:validation:Optional
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// +kubebuilder:validation:Optional
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*SpotInstanceRequestLaunchTemplateParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestLaunchTemplateParameters.

func (*SpotInstanceRequestLaunchTemplateParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestList added in v1.7.0

type SpotInstanceRequestList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SpotInstanceRequest `json:"items"`
}

SpotInstanceRequestList contains a list of SpotInstanceRequests

func (*SpotInstanceRequestList) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestList.

func (*SpotInstanceRequestList) DeepCopyInto added in v1.7.0

func (in *SpotInstanceRequestList) DeepCopyInto(out *SpotInstanceRequestList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SpotInstanceRequestList) DeepCopyObject added in v1.7.0

func (in *SpotInstanceRequestList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SpotInstanceRequestList) GetItems added in v1.7.0

func (l *SpotInstanceRequestList) GetItems() []resource.Managed

GetItems of this SpotInstanceRequestList.

type SpotInstanceRequestMaintenanceOptionsInitParameters added in v1.7.0

type SpotInstanceRequestMaintenanceOptionsInitParameters struct {
	AutoRecovery *string `json:"autoRecovery,omitempty" tf:"auto_recovery,omitempty"`
}

func (*SpotInstanceRequestMaintenanceOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestMaintenanceOptionsInitParameters.

func (*SpotInstanceRequestMaintenanceOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestMaintenanceOptionsObservation added in v1.7.0

type SpotInstanceRequestMaintenanceOptionsObservation struct {
	AutoRecovery *string `json:"autoRecovery,omitempty" tf:"auto_recovery,omitempty"`
}

func (*SpotInstanceRequestMaintenanceOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestMaintenanceOptionsObservation.

func (*SpotInstanceRequestMaintenanceOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestMaintenanceOptionsParameters added in v1.7.0

type SpotInstanceRequestMaintenanceOptionsParameters struct {

	// +kubebuilder:validation:Optional
	AutoRecovery *string `json:"autoRecovery,omitempty" tf:"auto_recovery,omitempty"`
}

func (*SpotInstanceRequestMaintenanceOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestMaintenanceOptionsParameters.

func (*SpotInstanceRequestMaintenanceOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestMetadataOptionsInitParameters added in v1.7.0

type SpotInstanceRequestMetadataOptionsInitParameters struct {
	HTTPEndpoint *string `json:"httpEndpoint,omitempty" tf:"http_endpoint,omitempty"`

	HTTPProtocolIPv6 *string `json:"httpProtocolIpv6,omitempty" tf:"http_protocol_ipv6,omitempty"`

	HTTPPutResponseHopLimit *float64 `json:"httpPutResponseHopLimit,omitempty" tf:"http_put_response_hop_limit,omitempty"`

	HTTPTokens *string `json:"httpTokens,omitempty" tf:"http_tokens,omitempty"`

	// Key-value map of resource tags.
	InstanceMetadataTags *string `json:"instanceMetadataTags,omitempty" tf:"instance_metadata_tags,omitempty"`
}

func (*SpotInstanceRequestMetadataOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestMetadataOptionsInitParameters.

func (*SpotInstanceRequestMetadataOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestMetadataOptionsObservation added in v1.7.0

type SpotInstanceRequestMetadataOptionsObservation struct {
	HTTPEndpoint *string `json:"httpEndpoint,omitempty" tf:"http_endpoint,omitempty"`

	HTTPProtocolIPv6 *string `json:"httpProtocolIpv6,omitempty" tf:"http_protocol_ipv6,omitempty"`

	HTTPPutResponseHopLimit *float64 `json:"httpPutResponseHopLimit,omitempty" tf:"http_put_response_hop_limit,omitempty"`

	HTTPTokens *string `json:"httpTokens,omitempty" tf:"http_tokens,omitempty"`

	// Key-value map of resource tags.
	InstanceMetadataTags *string `json:"instanceMetadataTags,omitempty" tf:"instance_metadata_tags,omitempty"`
}

func (*SpotInstanceRequestMetadataOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestMetadataOptionsObservation.

func (*SpotInstanceRequestMetadataOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestMetadataOptionsParameters added in v1.7.0

type SpotInstanceRequestMetadataOptionsParameters struct {

	// +kubebuilder:validation:Optional
	HTTPEndpoint *string `json:"httpEndpoint,omitempty" tf:"http_endpoint,omitempty"`

	// +kubebuilder:validation:Optional
	HTTPProtocolIPv6 *string `json:"httpProtocolIpv6,omitempty" tf:"http_protocol_ipv6,omitempty"`

	// +kubebuilder:validation:Optional
	HTTPPutResponseHopLimit *float64 `json:"httpPutResponseHopLimit,omitempty" tf:"http_put_response_hop_limit,omitempty"`

	// +kubebuilder:validation:Optional
	HTTPTokens *string `json:"httpTokens,omitempty" tf:"http_tokens,omitempty"`

	// Key-value map of resource tags.
	// +kubebuilder:validation:Optional
	InstanceMetadataTags *string `json:"instanceMetadataTags,omitempty" tf:"instance_metadata_tags,omitempty"`
}

func (*SpotInstanceRequestMetadataOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestMetadataOptionsParameters.

func (*SpotInstanceRequestMetadataOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestNetworkInterfaceInitParameters added in v1.7.0

type SpotInstanceRequestNetworkInterfaceInitParameters struct {
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	DeviceIndex *float64 `json:"deviceIndex,omitempty" tf:"device_index,omitempty"`

	NetworkCardIndex *float64 `json:"networkCardIndex,omitempty" tf:"network_card_index,omitempty"`

	// The Spot Instance Request ID.
	NetworkInterfaceID *string `json:"networkInterfaceId,omitempty" tf:"network_interface_id,omitempty"`
}

func (*SpotInstanceRequestNetworkInterfaceInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestNetworkInterfaceInitParameters.

func (*SpotInstanceRequestNetworkInterfaceInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestNetworkInterfaceObservation added in v1.7.0

type SpotInstanceRequestNetworkInterfaceObservation struct {
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	DeviceIndex *float64 `json:"deviceIndex,omitempty" tf:"device_index,omitempty"`

	NetworkCardIndex *float64 `json:"networkCardIndex,omitempty" tf:"network_card_index,omitempty"`

	// The Spot Instance Request ID.
	NetworkInterfaceID *string `json:"networkInterfaceId,omitempty" tf:"network_interface_id,omitempty"`
}

func (*SpotInstanceRequestNetworkInterfaceObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestNetworkInterfaceObservation.

func (*SpotInstanceRequestNetworkInterfaceObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestNetworkInterfaceParameters added in v1.7.0

type SpotInstanceRequestNetworkInterfaceParameters struct {

	// +kubebuilder:validation:Optional
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// +kubebuilder:validation:Optional
	DeviceIndex *float64 `json:"deviceIndex" tf:"device_index,omitempty"`

	// +kubebuilder:validation:Optional
	NetworkCardIndex *float64 `json:"networkCardIndex,omitempty" tf:"network_card_index,omitempty"`

	// The Spot Instance Request ID.
	// +kubebuilder:validation:Optional
	NetworkInterfaceID *string `json:"networkInterfaceId" tf:"network_interface_id,omitempty"`
}

func (*SpotInstanceRequestNetworkInterfaceParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestNetworkInterfaceParameters.

func (*SpotInstanceRequestNetworkInterfaceParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestObservation added in v1.7.0

type SpotInstanceRequestObservation struct {
	AMI *string `json:"ami,omitempty" tf:"ami,omitempty"`

	Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`

	AssociatePublicIPAddress *bool `json:"associatePublicIpAddress,omitempty" tf:"associate_public_ip_address,omitempty"`

	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).
	// The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
	// Note that you can't specify an Availability Zone group or a launch group if you specify a duration.
	BlockDurationMinutes *float64 `json:"blockDurationMinutes,omitempty" tf:"block_duration_minutes,omitempty"`

	CPUCoreCount *float64 `json:"cpuCoreCount,omitempty" tf:"cpu_core_count,omitempty"`

	CPUOptions *SpotInstanceRequestCPUOptionsObservation `json:"cpuOptions,omitempty" tf:"cpu_options,omitempty"`

	CPUThreadsPerCore *float64 `json:"cpuThreadsPerCore,omitempty" tf:"cpu_threads_per_core,omitempty"`

	CapacityReservationSpecification *SpotInstanceRequestCapacityReservationSpecificationObservation `json:"capacityReservationSpecification,omitempty" tf:"capacity_reservation_specification,omitempty"`

	CreditSpecification *SpotInstanceRequestCreditSpecificationObservation `json:"creditSpecification,omitempty" tf:"credit_specification,omitempty"`

	DisableAPIStop *bool `json:"disableApiStop,omitempty" tf:"disable_api_stop,omitempty"`

	DisableAPITermination *bool `json:"disableApiTermination,omitempty" tf:"disable_api_termination,omitempty"`

	EBSBlockDevice []SpotInstanceRequestEBSBlockDeviceObservation `json:"ebsBlockDevice,omitempty" tf:"ebs_block_device,omitempty"`

	EBSOptimized *bool `json:"ebsOptimized,omitempty" tf:"ebs_optimized,omitempty"`

	EnclaveOptions *SpotInstanceRequestEnclaveOptionsObservation `json:"enclaveOptions,omitempty" tf:"enclave_options,omitempty"`

	EphemeralBlockDevice []SpotInstanceRequestEphemeralBlockDeviceObservation `json:"ephemeralBlockDevice,omitempty" tf:"ephemeral_block_device,omitempty"`

	GetPasswordData *bool `json:"getPasswordData,omitempty" tf:"get_password_data,omitempty"`

	Hibernation *bool `json:"hibernation,omitempty" tf:"hibernation,omitempty"`

	// The Spot Instance Request ID.
	HostID *string `json:"hostId,omitempty" tf:"host_id,omitempty"`

	HostResourceGroupArn *string `json:"hostResourceGroupArn,omitempty" tf:"host_resource_group_arn,omitempty"`

	IAMInstanceProfile *string `json:"iamInstanceProfile,omitempty" tf:"iam_instance_profile,omitempty"`

	// The Spot Instance Request ID.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	IPv6AddressCount *float64 `json:"ipv6AddressCount,omitempty" tf:"ipv6_address_count,omitempty"`

	IPv6Addresses []*string `json:"ipv6Addresses,omitempty" tf:"ipv6_addresses,omitempty"`

	InstanceInitiatedShutdownBehavior *string `json:"instanceInitiatedShutdownBehavior,omitempty" tf:"instance_initiated_shutdown_behavior,omitempty"`

	// Indicates Spot instance behavior when it is interrupted. Valid values are terminate, stop, or hibernate. Default value is terminate.
	InstanceInterruptionBehavior *string `json:"instanceInterruptionBehavior,omitempty" tf:"instance_interruption_behavior,omitempty"`

	InstanceState *string `json:"instanceState,omitempty" tf:"instance_state,omitempty"`

	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	// A launch group is a group of spot instances that launch together and terminate together.
	// If left empty instances are launched and terminated individually.
	LaunchGroup *string `json:"launchGroup,omitempty" tf:"launch_group,omitempty"`

	LaunchTemplate *SpotInstanceRequestLaunchTemplateObservation `json:"launchTemplate,omitempty" tf:"launch_template,omitempty"`

	MaintenanceOptions *SpotInstanceRequestMaintenanceOptionsObservation `json:"maintenanceOptions,omitempty" tf:"maintenance_options,omitempty"`

	MetadataOptions *SpotInstanceRequestMetadataOptionsObservation `json:"metadataOptions,omitempty" tf:"metadata_options,omitempty"`

	Monitoring *bool `json:"monitoring,omitempty" tf:"monitoring,omitempty"`

	NetworkInterface []SpotInstanceRequestNetworkInterfaceObservation `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	OutpostArn *string `json:"outpostArn,omitempty" tf:"outpost_arn,omitempty"`

	PasswordData *string `json:"passwordData,omitempty" tf:"password_data,omitempty"`

	PlacementGroup *string `json:"placementGroup,omitempty" tf:"placement_group,omitempty"`

	PlacementPartitionNumber *float64 `json:"placementPartitionNumber,omitempty" tf:"placement_partition_number,omitempty"`

	// The Spot Instance Request ID.
	PrimaryNetworkInterfaceID *string `json:"primaryNetworkInterfaceId,omitempty" tf:"primary_network_interface_id,omitempty"`

	// The private DNS name assigned to the instance. Can only be
	// used inside the Amazon EC2, and only available if you've enabled DNS hostnames
	// for your VPC
	PrivateDNS *string `json:"privateDns,omitempty" tf:"private_dns,omitempty"`

	PrivateDNSNameOptions *SpotInstanceRequestPrivateDNSNameOptionsObservation `json:"privateDnsNameOptions,omitempty" tf:"private_dns_name_options,omitempty"`

	// The private IP address assigned to the instance
	PrivateIP *string `json:"privateIp,omitempty" tf:"private_ip,omitempty"`

	// The public DNS name assigned to the instance. For EC2-VPC, this
	// is only available if you've enabled DNS hostnames for your VPC
	PublicDNS *string `json:"publicDns,omitempty" tf:"public_dns,omitempty"`

	// The public IP address assigned to the instance, if applicable.
	PublicIP *string `json:"publicIp,omitempty" tf:"public_ip,omitempty"`

	RootBlockDevice *SpotInstanceRequestRootBlockDeviceObservation `json:"rootBlockDevice,omitempty" tf:"root_block_device,omitempty"`

	// +listType=set
	SecondaryPrivateIps []*string `json:"secondaryPrivateIps,omitempty" tf:"secondary_private_ips,omitempty"`

	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	SourceDestCheck *bool `json:"sourceDestCheck,omitempty" tf:"source_dest_check,omitempty"`

	// The current bid
	// status
	// of the Spot Instance Request.
	SpotBidStatus *string `json:"spotBidStatus,omitempty" tf:"spot_bid_status,omitempty"`

	// The Instance ID (if any) that is currently fulfilling
	// the Spot Instance request.
	SpotInstanceID *string `json:"spotInstanceId,omitempty" tf:"spot_instance_id,omitempty"`

	// The maximum price to request on the spot market.
	SpotPrice *string `json:"spotPrice,omitempty" tf:"spot_price,omitempty"`

	// The current request
	// state
	// of the Spot Instance Request.
	SpotRequestState *string `json:"spotRequestState,omitempty" tf:"spot_request_state,omitempty"`

	// If set to one-time, after
	// the instance is terminated, the spot request will be closed.
	SpotType *string `json:"spotType,omitempty" tf:"spot_type,omitempty"`

	// The Spot Instance Request ID.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	Tenancy *string `json:"tenancy,omitempty" tf:"tenancy,omitempty"`

	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	UserDataBase64 *string `json:"userDataBase64,omitempty" tf:"user_data_base64,omitempty"`

	UserDataReplaceOnChange *bool `json:"userDataReplaceOnChange,omitempty" tf:"user_data_replace_on_change,omitempty"`

	// +listType=set
	VPCSecurityGroupIds []*string `json:"vpcSecurityGroupIds,omitempty" tf:"vpc_security_group_ids,omitempty"`

	// The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
	ValidFrom *string `json:"validFrom,omitempty" tf:"valid_from,omitempty"`

	// The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request. The default end date is 7 days from the current date.
	ValidUntil *string `json:"validUntil,omitempty" tf:"valid_until,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	VolumeTags map[string]*string `json:"volumeTags,omitempty" tf:"volume_tags,omitempty"`

	WaitForFulfillment *bool `json:"waitForFulfillment,omitempty" tf:"wait_for_fulfillment,omitempty"`
}

func (*SpotInstanceRequestObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestObservation.

func (*SpotInstanceRequestObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestParameters added in v1.7.0

type SpotInstanceRequestParameters struct {

	// +kubebuilder:validation:Optional
	AMI *string `json:"ami,omitempty" tf:"ami,omitempty"`

	// +kubebuilder:validation:Optional
	AssociatePublicIPAddress *bool `json:"associatePublicIpAddress,omitempty" tf:"associate_public_ip_address,omitempty"`

	// +kubebuilder:validation:Optional
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).
	// The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
	// Note that you can't specify an Availability Zone group or a launch group if you specify a duration.
	// +kubebuilder:validation:Optional
	BlockDurationMinutes *float64 `json:"blockDurationMinutes,omitempty" tf:"block_duration_minutes,omitempty"`

	// +kubebuilder:validation:Optional
	CPUCoreCount *float64 `json:"cpuCoreCount,omitempty" tf:"cpu_core_count,omitempty"`

	// +kubebuilder:validation:Optional
	CPUOptions *SpotInstanceRequestCPUOptionsParameters `json:"cpuOptions,omitempty" tf:"cpu_options,omitempty"`

	// +kubebuilder:validation:Optional
	CPUThreadsPerCore *float64 `json:"cpuThreadsPerCore,omitempty" tf:"cpu_threads_per_core,omitempty"`

	// +kubebuilder:validation:Optional
	CapacityReservationSpecification *SpotInstanceRequestCapacityReservationSpecificationParameters `json:"capacityReservationSpecification,omitempty" tf:"capacity_reservation_specification,omitempty"`

	// +kubebuilder:validation:Optional
	CreditSpecification *SpotInstanceRequestCreditSpecificationParameters `json:"creditSpecification,omitempty" tf:"credit_specification,omitempty"`

	// +kubebuilder:validation:Optional
	DisableAPIStop *bool `json:"disableApiStop,omitempty" tf:"disable_api_stop,omitempty"`

	// +kubebuilder:validation:Optional
	DisableAPITermination *bool `json:"disableApiTermination,omitempty" tf:"disable_api_termination,omitempty"`

	// +kubebuilder:validation:Optional
	EBSBlockDevice []SpotInstanceRequestEBSBlockDeviceParameters `json:"ebsBlockDevice,omitempty" tf:"ebs_block_device,omitempty"`

	// +kubebuilder:validation:Optional
	EBSOptimized *bool `json:"ebsOptimized,omitempty" tf:"ebs_optimized,omitempty"`

	// +kubebuilder:validation:Optional
	EnclaveOptions *SpotInstanceRequestEnclaveOptionsParameters `json:"enclaveOptions,omitempty" tf:"enclave_options,omitempty"`

	// +kubebuilder:validation:Optional
	EphemeralBlockDevice []SpotInstanceRequestEphemeralBlockDeviceParameters `json:"ephemeralBlockDevice,omitempty" tf:"ephemeral_block_device,omitempty"`

	// +kubebuilder:validation:Optional
	GetPasswordData *bool `json:"getPasswordData,omitempty" tf:"get_password_data,omitempty"`

	// +kubebuilder:validation:Optional
	Hibernation *bool `json:"hibernation,omitempty" tf:"hibernation,omitempty"`

	// The Spot Instance Request ID.
	// +kubebuilder:validation:Optional
	HostID *string `json:"hostId,omitempty" tf:"host_id,omitempty"`

	// +kubebuilder:validation:Optional
	HostResourceGroupArn *string `json:"hostResourceGroupArn,omitempty" tf:"host_resource_group_arn,omitempty"`

	// +kubebuilder:validation:Optional
	IAMInstanceProfile *string `json:"iamInstanceProfile,omitempty" tf:"iam_instance_profile,omitempty"`

	// +kubebuilder:validation:Optional
	IPv6AddressCount *float64 `json:"ipv6AddressCount,omitempty" tf:"ipv6_address_count,omitempty"`

	// +kubebuilder:validation:Optional
	IPv6Addresses []*string `json:"ipv6Addresses,omitempty" tf:"ipv6_addresses,omitempty"`

	// +kubebuilder:validation:Optional
	InstanceInitiatedShutdownBehavior *string `json:"instanceInitiatedShutdownBehavior,omitempty" tf:"instance_initiated_shutdown_behavior,omitempty"`

	// Indicates Spot instance behavior when it is interrupted. Valid values are terminate, stop, or hibernate. Default value is terminate.
	// +kubebuilder:validation:Optional
	InstanceInterruptionBehavior *string `json:"instanceInterruptionBehavior,omitempty" tf:"instance_interruption_behavior,omitempty"`

	// +kubebuilder:validation:Optional
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// +kubebuilder:validation:Optional
	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	// A launch group is a group of spot instances that launch together and terminate together.
	// If left empty instances are launched and terminated individually.
	// +kubebuilder:validation:Optional
	LaunchGroup *string `json:"launchGroup,omitempty" tf:"launch_group,omitempty"`

	// +kubebuilder:validation:Optional
	LaunchTemplate *SpotInstanceRequestLaunchTemplateParameters `json:"launchTemplate,omitempty" tf:"launch_template,omitempty"`

	// +kubebuilder:validation:Optional
	MaintenanceOptions *SpotInstanceRequestMaintenanceOptionsParameters `json:"maintenanceOptions,omitempty" tf:"maintenance_options,omitempty"`

	// +kubebuilder:validation:Optional
	MetadataOptions *SpotInstanceRequestMetadataOptionsParameters `json:"metadataOptions,omitempty" tf:"metadata_options,omitempty"`

	// +kubebuilder:validation:Optional
	Monitoring *bool `json:"monitoring,omitempty" tf:"monitoring,omitempty"`

	// +kubebuilder:validation:Optional
	NetworkInterface []SpotInstanceRequestNetworkInterfaceParameters `json:"networkInterface,omitempty" tf:"network_interface,omitempty"`

	// +kubebuilder:validation:Optional
	PlacementGroup *string `json:"placementGroup,omitempty" tf:"placement_group,omitempty"`

	// +kubebuilder:validation:Optional
	PlacementPartitionNumber *float64 `json:"placementPartitionNumber,omitempty" tf:"placement_partition_number,omitempty"`

	// +kubebuilder:validation:Optional
	PrivateDNSNameOptions *SpotInstanceRequestPrivateDNSNameOptionsParameters `json:"privateDnsNameOptions,omitempty" tf:"private_dns_name_options,omitempty"`

	// The private IP address assigned to the instance
	// +kubebuilder:validation:Optional
	PrivateIP *string `json:"privateIp,omitempty" tf:"private_ip,omitempty"`

	// Region is the region you'd like your resource to be created in.
	// +upjet:crd:field:TFTag=-
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"-"`

	// +kubebuilder:validation:Optional
	RootBlockDevice *SpotInstanceRequestRootBlockDeviceParameters `json:"rootBlockDevice,omitempty" tf:"root_block_device,omitempty"`

	// +kubebuilder:validation:Optional
	// +listType=set
	SecondaryPrivateIps []*string `json:"secondaryPrivateIps,omitempty" tf:"secondary_private_ips,omitempty"`

	// +kubebuilder:validation:Optional
	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// +kubebuilder:validation:Optional
	SourceDestCheck *bool `json:"sourceDestCheck,omitempty" tf:"source_dest_check,omitempty"`

	// The maximum price to request on the spot market.
	// +kubebuilder:validation:Optional
	SpotPrice *string `json:"spotPrice,omitempty" tf:"spot_price,omitempty"`

	// If set to one-time, after
	// the instance is terminated, the spot request will be closed.
	// +kubebuilder:validation:Optional
	SpotType *string `json:"spotType,omitempty" tf:"spot_type,omitempty"`

	// The Spot Instance Request ID.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.Subnet
	// +kubebuilder:validation:Optional
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in ec2 to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in ec2 to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`

	// Key-value map of resource tags.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// +kubebuilder:validation:Optional
	Tenancy *string `json:"tenancy,omitempty" tf:"tenancy,omitempty"`

	// +kubebuilder:validation:Optional
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// +kubebuilder:validation:Optional
	UserDataBase64 *string `json:"userDataBase64,omitempty" tf:"user_data_base64,omitempty"`

	// +kubebuilder:validation:Optional
	UserDataReplaceOnChange *bool `json:"userDataReplaceOnChange,omitempty" tf:"user_data_replace_on_change,omitempty"`

	// References to SecurityGroup in ec2 to populate vpcSecurityGroupIds.
	// +kubebuilder:validation:Optional
	VPCSecurityGroupIDRefs []v1.Reference `json:"vpcSecurityGroupIdRefs,omitempty" tf:"-"`

	// Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds.
	// +kubebuilder:validation:Optional
	VPCSecurityGroupIDSelector *v1.Selector `json:"vpcSecurityGroupIdSelector,omitempty" tf:"-"`

	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup
	// +crossplane:generate:reference:refFieldName=VPCSecurityGroupIDRefs
	// +crossplane:generate:reference:selectorFieldName=VPCSecurityGroupIDSelector
	// +kubebuilder:validation:Optional
	// +listType=set
	VPCSecurityGroupIds []*string `json:"vpcSecurityGroupIds,omitempty" tf:"vpc_security_group_ids,omitempty"`

	// The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
	// +kubebuilder:validation:Optional
	ValidFrom *string `json:"validFrom,omitempty" tf:"valid_from,omitempty"`

	// The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request. The default end date is 7 days from the current date.
	// +kubebuilder:validation:Optional
	ValidUntil *string `json:"validUntil,omitempty" tf:"valid_until,omitempty"`

	// Key-value map of resource tags.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	VolumeTags map[string]*string `json:"volumeTags,omitempty" tf:"volume_tags,omitempty"`

	// +kubebuilder:validation:Optional
	WaitForFulfillment *bool `json:"waitForFulfillment,omitempty" tf:"wait_for_fulfillment,omitempty"`
}

func (*SpotInstanceRequestParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestParameters.

func (*SpotInstanceRequestParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestPrivateDNSNameOptionsInitParameters added in v1.7.0

type SpotInstanceRequestPrivateDNSNameOptionsInitParameters struct {
	EnableResourceNameDNSARecord *bool `json:"enableResourceNameDnsARecord,omitempty" tf:"enable_resource_name_dns_a_record,omitempty"`

	EnableResourceNameDNSAaaaRecord *bool `json:"enableResourceNameDnsAaaaRecord,omitempty" tf:"enable_resource_name_dns_aaaa_record,omitempty"`

	HostnameType *string `json:"hostnameType,omitempty" tf:"hostname_type,omitempty"`
}

func (*SpotInstanceRequestPrivateDNSNameOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestPrivateDNSNameOptionsInitParameters.

func (*SpotInstanceRequestPrivateDNSNameOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestPrivateDNSNameOptionsObservation added in v1.7.0

type SpotInstanceRequestPrivateDNSNameOptionsObservation struct {
	EnableResourceNameDNSARecord *bool `json:"enableResourceNameDnsARecord,omitempty" tf:"enable_resource_name_dns_a_record,omitempty"`

	EnableResourceNameDNSAaaaRecord *bool `json:"enableResourceNameDnsAaaaRecord,omitempty" tf:"enable_resource_name_dns_aaaa_record,omitempty"`

	HostnameType *string `json:"hostnameType,omitempty" tf:"hostname_type,omitempty"`
}

func (*SpotInstanceRequestPrivateDNSNameOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestPrivateDNSNameOptionsObservation.

func (*SpotInstanceRequestPrivateDNSNameOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestPrivateDNSNameOptionsParameters added in v1.7.0

type SpotInstanceRequestPrivateDNSNameOptionsParameters struct {

	// +kubebuilder:validation:Optional
	EnableResourceNameDNSARecord *bool `json:"enableResourceNameDnsARecord,omitempty" tf:"enable_resource_name_dns_a_record,omitempty"`

	// +kubebuilder:validation:Optional
	EnableResourceNameDNSAaaaRecord *bool `json:"enableResourceNameDnsAaaaRecord,omitempty" tf:"enable_resource_name_dns_aaaa_record,omitempty"`

	// +kubebuilder:validation:Optional
	HostnameType *string `json:"hostnameType,omitempty" tf:"hostname_type,omitempty"`
}

func (*SpotInstanceRequestPrivateDNSNameOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestPrivateDNSNameOptionsParameters.

func (*SpotInstanceRequestPrivateDNSNameOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestRootBlockDeviceInitParameters added in v1.7.0

type SpotInstanceRequestRootBlockDeviceInitParameters struct {
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// The Spot Instance Request ID.
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*SpotInstanceRequestRootBlockDeviceInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestRootBlockDeviceInitParameters.

func (*SpotInstanceRequestRootBlockDeviceInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestRootBlockDeviceObservation added in v1.7.0

type SpotInstanceRequestRootBlockDeviceObservation struct {
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`

	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// The Spot Instance Request ID.
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	// The Spot Instance Request ID.
	VolumeID *string `json:"volumeId,omitempty" tf:"volume_id,omitempty"`

	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*SpotInstanceRequestRootBlockDeviceObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestRootBlockDeviceObservation.

func (*SpotInstanceRequestRootBlockDeviceObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestRootBlockDeviceParameters added in v1.7.0

type SpotInstanceRequestRootBlockDeviceParameters struct {

	// +kubebuilder:validation:Optional
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty" tf:"delete_on_termination,omitempty"`

	// +kubebuilder:validation:Optional
	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// +kubebuilder:validation:Optional
	Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"`

	// The Spot Instance Request ID.
	// +kubebuilder:validation:Optional
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// Key-value map of resource tags.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// +kubebuilder:validation:Optional
	Throughput *float64 `json:"throughput,omitempty" tf:"throughput,omitempty"`

	// +kubebuilder:validation:Optional
	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	// +kubebuilder:validation:Optional
	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*SpotInstanceRequestRootBlockDeviceParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestRootBlockDeviceParameters.

func (*SpotInstanceRequestRootBlockDeviceParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestSpec added in v1.7.0

type SpotInstanceRequestSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     SpotInstanceRequestParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider SpotInstanceRequestInitParameters `json:"initProvider,omitempty"`
}

SpotInstanceRequestSpec defines the desired state of SpotInstanceRequest

func (*SpotInstanceRequestSpec) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestSpec.

func (*SpotInstanceRequestSpec) DeepCopyInto added in v1.7.0

func (in *SpotInstanceRequestSpec) DeepCopyInto(out *SpotInstanceRequestSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotInstanceRequestStatus added in v1.7.0

type SpotInstanceRequestStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        SpotInstanceRequestObservation `json:"atProvider,omitempty"`
}

SpotInstanceRequestStatus defines the observed state of SpotInstanceRequest.

func (*SpotInstanceRequestStatus) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotInstanceRequestStatus.

func (*SpotInstanceRequestStatus) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotMaintenanceStrategiesInitParameters added in v1.7.0

type SpotMaintenanceStrategiesInitParameters struct {

	// Nested argument containing the capacity rebalance for your fleet request. Defined below.
	CapacityRebalance *CapacityRebalanceInitParameters `json:"capacityRebalance,omitempty" tf:"capacity_rebalance,omitempty"`
}

func (*SpotMaintenanceStrategiesInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotMaintenanceStrategiesInitParameters.

func (*SpotMaintenanceStrategiesInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotMaintenanceStrategiesObservation added in v1.7.0

type SpotMaintenanceStrategiesObservation struct {

	// Nested argument containing the capacity rebalance for your fleet request. Defined below.
	CapacityRebalance *CapacityRebalanceObservation `json:"capacityRebalance,omitempty" tf:"capacity_rebalance,omitempty"`
}

func (*SpotMaintenanceStrategiesObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotMaintenanceStrategiesObservation.

func (*SpotMaintenanceStrategiesObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotMaintenanceStrategiesParameters added in v1.7.0

type SpotMaintenanceStrategiesParameters struct {

	// Nested argument containing the capacity rebalance for your fleet request. Defined below.
	// +kubebuilder:validation:Optional
	CapacityRebalance *CapacityRebalanceParameters `json:"capacityRebalance,omitempty" tf:"capacity_rebalance,omitempty"`
}

func (*SpotMaintenanceStrategiesParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotMaintenanceStrategiesParameters.

func (*SpotMaintenanceStrategiesParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotOptionsInitParameters added in v1.7.0

type SpotOptionsInitParameters struct {

	// The behavior when a Spot Instance is interrupted. Valid values include hibernate, stop, terminate . The default is terminate.
	InstanceInterruptionBehavior *string `json:"instanceInterruptionBehavior,omitempty" tf:"instance_interruption_behavior,omitempty"`

	// The maximum hourly price that you're willing to pay for a Spot Instance.
	MaxPrice *string `json:"maxPrice,omitempty" tf:"max_price,omitempty"`

	// The Spot Instance request type. Valid values include one-time, persistent. Persistent Spot Instance requests are only supported when the instance interruption behavior is either hibernate or stop. The default is one-time.
	SpotInstanceType *string `json:"spotInstanceType,omitempty" tf:"spot_instance_type,omitempty"`

	// The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). Supported only for persistent requests.
	ValidUntil *string `json:"validUntil,omitempty" tf:"valid_until,omitempty"`
}

func (*SpotOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotOptionsInitParameters.

func (*SpotOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotOptionsObservation added in v1.7.0

type SpotOptionsObservation struct {

	// The behavior when a Spot Instance is interrupted. Valid values include hibernate, stop, terminate . The default is terminate.
	InstanceInterruptionBehavior *string `json:"instanceInterruptionBehavior,omitempty" tf:"instance_interruption_behavior,omitempty"`

	// The maximum hourly price that you're willing to pay for a Spot Instance.
	MaxPrice *string `json:"maxPrice,omitempty" tf:"max_price,omitempty"`

	// The Spot Instance request type. Valid values include one-time, persistent. Persistent Spot Instance requests are only supported when the instance interruption behavior is either hibernate or stop. The default is one-time.
	SpotInstanceType *string `json:"spotInstanceType,omitempty" tf:"spot_instance_type,omitempty"`

	// The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). Supported only for persistent requests.
	ValidUntil *string `json:"validUntil,omitempty" tf:"valid_until,omitempty"`
}

func (*SpotOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotOptionsObservation.

func (*SpotOptionsObservation) DeepCopyInto added in v1.7.0

func (in *SpotOptionsObservation) DeepCopyInto(out *SpotOptionsObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpotOptionsParameters added in v1.7.0

type SpotOptionsParameters struct {

	// The behavior when a Spot Instance is interrupted. Valid values include hibernate, stop, terminate . The default is terminate.
	// +kubebuilder:validation:Optional
	InstanceInterruptionBehavior *string `json:"instanceInterruptionBehavior,omitempty" tf:"instance_interruption_behavior,omitempty"`

	// The maximum hourly price that you're willing to pay for a Spot Instance.
	// +kubebuilder:validation:Optional
	MaxPrice *string `json:"maxPrice,omitempty" tf:"max_price,omitempty"`

	// The Spot Instance request type. Valid values include one-time, persistent. Persistent Spot Instance requests are only supported when the instance interruption behavior is either hibernate or stop. The default is one-time.
	// +kubebuilder:validation:Optional
	SpotInstanceType *string `json:"spotInstanceType,omitempty" tf:"spot_instance_type,omitempty"`

	// The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). Supported only for persistent requests.
	// +kubebuilder:validation:Optional
	ValidUntil *string `json:"validUntil,omitempty" tf:"valid_until,omitempty"`
}

func (*SpotOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotOptionsParameters.

func (*SpotOptionsParameters) DeepCopyInto added in v1.7.0

func (in *SpotOptionsParameters) DeepCopyInto(out *SpotOptionsParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetConfigurationInitParameters added in v1.10.0

type SubnetConfigurationInitParameters struct {

	// The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4.
	IPv4 *string `json:"ipv4,omitempty" tf:"ipv4,omitempty"`

	// The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6.
	IPv6 *string `json:"ipv6,omitempty" tf:"ipv6,omitempty"`

	// The ID of the VPC endpoint.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.Subnet
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in ec2 to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in ec2 to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`
}

func (*SubnetConfigurationInitParameters) DeepCopy added in v1.10.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetConfigurationInitParameters.

func (*SubnetConfigurationInitParameters) DeepCopyInto added in v1.10.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetConfigurationObservation added in v1.10.0

type SubnetConfigurationObservation struct {

	// The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4.
	IPv4 *string `json:"ipv4,omitempty" tf:"ipv4,omitempty"`

	// The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6.
	IPv6 *string `json:"ipv6,omitempty" tf:"ipv6,omitempty"`

	// The ID of the VPC endpoint.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`
}

func (*SubnetConfigurationObservation) DeepCopy added in v1.10.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetConfigurationObservation.

func (*SubnetConfigurationObservation) DeepCopyInto added in v1.10.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetConfigurationParameters added in v1.10.0

type SubnetConfigurationParameters struct {

	// The IPv4 address to assign to the endpoint network interface in the subnet. You must provide an IPv4 address if the VPC endpoint supports IPv4.
	// +kubebuilder:validation:Optional
	IPv4 *string `json:"ipv4,omitempty" tf:"ipv4,omitempty"`

	// The IPv6 address to assign to the endpoint network interface in the subnet. You must provide an IPv6 address if the VPC endpoint supports IPv6.
	// +kubebuilder:validation:Optional
	IPv6 *string `json:"ipv6,omitempty" tf:"ipv6,omitempty"`

	// The ID of the VPC endpoint.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.Subnet
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in ec2 to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in ec2 to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`
}

func (*SubnetConfigurationParameters) DeepCopy added in v1.10.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetConfigurationParameters.

func (*SubnetConfigurationParameters) DeepCopyInto added in v1.10.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TagSpecificationsInitParameters added in v1.7.0

type TagSpecificationsInitParameters struct {

	// The type of resource to tag.
	ResourceType *string `json:"resourceType,omitempty" tf:"resource_type,omitempty"`

	// A map of tags to assign to the resource.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*TagSpecificationsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagSpecificationsInitParameters.

func (*TagSpecificationsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TagSpecificationsObservation added in v1.7.0

type TagSpecificationsObservation struct {

	// The type of resource to tag.
	ResourceType *string `json:"resourceType,omitempty" tf:"resource_type,omitempty"`

	// A map of tags to assign to the resource.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*TagSpecificationsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagSpecificationsObservation.

func (*TagSpecificationsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TagSpecificationsParameters added in v1.7.0

type TagSpecificationsParameters struct {

	// The type of resource to tag.
	// +kubebuilder:validation:Optional
	ResourceType *string `json:"resourceType,omitempty" tf:"resource_type,omitempty"`

	// A map of tags to assign to the resource.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*TagSpecificationsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagSpecificationsParameters.

func (*TagSpecificationsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TotalLocalStorageGbInitParameters added in v1.7.0

type TotalLocalStorageGbInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*TotalLocalStorageGbInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TotalLocalStorageGbInitParameters.

func (*TotalLocalStorageGbInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TotalLocalStorageGbObservation added in v1.7.0

type TotalLocalStorageGbObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*TotalLocalStorageGbObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TotalLocalStorageGbObservation.

func (*TotalLocalStorageGbObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TotalLocalStorageGbParameters added in v1.7.0

type TotalLocalStorageGbParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*TotalLocalStorageGbParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TotalLocalStorageGbParameters.

func (*TotalLocalStorageGbParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TrafficMirrorFilterRule added in v1.7.0

type TrafficMirrorFilterRule struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.destinationCidrBlock) || (has(self.initProvider) && has(self.initProvider.destinationCidrBlock))",message="spec.forProvider.destinationCidrBlock is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.ruleAction) || (has(self.initProvider) && has(self.initProvider.ruleAction))",message="spec.forProvider.ruleAction is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.ruleNumber) || (has(self.initProvider) && has(self.initProvider.ruleNumber))",message="spec.forProvider.ruleNumber is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.sourceCidrBlock) || (has(self.initProvider) && has(self.initProvider.sourceCidrBlock))",message="spec.forProvider.sourceCidrBlock is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.trafficDirection) || (has(self.initProvider) && has(self.initProvider.trafficDirection))",message="spec.forProvider.trafficDirection is a required parameter"
	Spec   TrafficMirrorFilterRuleSpec   `json:"spec"`
	Status TrafficMirrorFilterRuleStatus `json:"status,omitempty"`
}

TrafficMirrorFilterRule is the Schema for the TrafficMirrorFilterRules API. Provides an Traffic mirror filter rule +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*TrafficMirrorFilterRule) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficMirrorFilterRule.

func (*TrafficMirrorFilterRule) DeepCopyInto added in v1.7.0

func (in *TrafficMirrorFilterRule) DeepCopyInto(out *TrafficMirrorFilterRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TrafficMirrorFilterRule) DeepCopyObject added in v1.7.0

func (in *TrafficMirrorFilterRule) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*TrafficMirrorFilterRule) GetCondition added in v1.7.0

GetCondition of this TrafficMirrorFilterRule.

func (*TrafficMirrorFilterRule) GetConnectionDetailsMapping added in v1.7.0

func (tr *TrafficMirrorFilterRule) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this TrafficMirrorFilterRule

func (*TrafficMirrorFilterRule) GetDeletionPolicy added in v1.7.0

func (mg *TrafficMirrorFilterRule) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this TrafficMirrorFilterRule.

func (*TrafficMirrorFilterRule) GetID added in v1.7.0

func (tr *TrafficMirrorFilterRule) GetID() string

GetID returns ID of underlying Terraform resource of this TrafficMirrorFilterRule

func (*TrafficMirrorFilterRule) GetInitParameters added in v1.7.0

func (tr *TrafficMirrorFilterRule) GetInitParameters() (map[string]any, error)

GetInitParameters of this TrafficMirrorFilterRule

func (*TrafficMirrorFilterRule) GetManagementPolicies added in v1.7.0

func (mg *TrafficMirrorFilterRule) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this TrafficMirrorFilterRule.

func (*TrafficMirrorFilterRule) GetMergedParameters added in v1.7.0

func (tr *TrafficMirrorFilterRule) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this TrafficMirrorFilterRule

func (*TrafficMirrorFilterRule) GetObservation added in v1.7.0

func (tr *TrafficMirrorFilterRule) GetObservation() (map[string]any, error)

GetObservation of this TrafficMirrorFilterRule

func (*TrafficMirrorFilterRule) GetParameters added in v1.7.0

func (tr *TrafficMirrorFilterRule) GetParameters() (map[string]any, error)

GetParameters of this TrafficMirrorFilterRule

func (*TrafficMirrorFilterRule) GetProviderConfigReference added in v1.7.0

func (mg *TrafficMirrorFilterRule) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this TrafficMirrorFilterRule.

func (*TrafficMirrorFilterRule) GetPublishConnectionDetailsTo added in v1.7.0

func (mg *TrafficMirrorFilterRule) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this TrafficMirrorFilterRule.

func (*TrafficMirrorFilterRule) GetTerraformResourceType added in v1.7.0

func (mg *TrafficMirrorFilterRule) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this TrafficMirrorFilterRule

func (*TrafficMirrorFilterRule) GetTerraformSchemaVersion added in v1.7.0

func (tr *TrafficMirrorFilterRule) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*TrafficMirrorFilterRule) GetWriteConnectionSecretToReference added in v1.7.0

func (mg *TrafficMirrorFilterRule) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this TrafficMirrorFilterRule.

func (*TrafficMirrorFilterRule) Hub added in v1.7.0

func (tr *TrafficMirrorFilterRule) Hub()

Hub marks this type as a conversion hub.

func (*TrafficMirrorFilterRule) LateInitialize added in v1.7.0

func (tr *TrafficMirrorFilterRule) LateInitialize(attrs []byte) (bool, error)

LateInitialize this TrafficMirrorFilterRule using its observed tfState. returns True if there are any spec changes for the resource.

func (*TrafficMirrorFilterRule) ResolveReferences added in v1.7.0

func (mg *TrafficMirrorFilterRule) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this TrafficMirrorFilterRule.

func (*TrafficMirrorFilterRule) SetConditions added in v1.7.0

func (mg *TrafficMirrorFilterRule) SetConditions(c ...xpv1.Condition)

SetConditions of this TrafficMirrorFilterRule.

func (*TrafficMirrorFilterRule) SetDeletionPolicy added in v1.7.0

func (mg *TrafficMirrorFilterRule) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this TrafficMirrorFilterRule.

func (*TrafficMirrorFilterRule) SetManagementPolicies added in v1.7.0

func (mg *TrafficMirrorFilterRule) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this TrafficMirrorFilterRule.

func (*TrafficMirrorFilterRule) SetObservation added in v1.7.0

func (tr *TrafficMirrorFilterRule) SetObservation(obs map[string]any) error

SetObservation for this TrafficMirrorFilterRule

func (*TrafficMirrorFilterRule) SetParameters added in v1.7.0

func (tr *TrafficMirrorFilterRule) SetParameters(params map[string]any) error

SetParameters for this TrafficMirrorFilterRule

func (*TrafficMirrorFilterRule) SetProviderConfigReference added in v1.7.0

func (mg *TrafficMirrorFilterRule) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this TrafficMirrorFilterRule.

func (*TrafficMirrorFilterRule) SetPublishConnectionDetailsTo added in v1.7.0

func (mg *TrafficMirrorFilterRule) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this TrafficMirrorFilterRule.

func (*TrafficMirrorFilterRule) SetWriteConnectionSecretToReference added in v1.7.0

func (mg *TrafficMirrorFilterRule) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this TrafficMirrorFilterRule.

type TrafficMirrorFilterRuleInitParameters added in v1.7.0

type TrafficMirrorFilterRuleInitParameters struct {

	// Description of the traffic mirror filter rule.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Destination CIDR block to assign to the Traffic Mirror rule.
	DestinationCidrBlock *string `json:"destinationCidrBlock,omitempty" tf:"destination_cidr_block,omitempty"`

	// Destination port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below
	DestinationPortRange *DestinationPortRangeInitParameters `json:"destinationPortRange,omitempty" tf:"destination_port_range,omitempty"`

	// Protocol number, for example 17 (UDP), to assign to the Traffic Mirror rule. For information about the protocol value, see Protocol Numbers on the Internet Assigned Numbers Authority (IANA) website.
	Protocol *float64 `json:"protocol,omitempty" tf:"protocol,omitempty"`

	// Action to take (accept | reject) on the filtered traffic. Valid values are accept and reject
	RuleAction *string `json:"ruleAction,omitempty" tf:"rule_action,omitempty"`

	// Number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.
	RuleNumber *float64 `json:"ruleNumber,omitempty" tf:"rule_number,omitempty"`

	// Source CIDR block to assign to the Traffic Mirror rule.
	SourceCidrBlock *string `json:"sourceCidrBlock,omitempty" tf:"source_cidr_block,omitempty"`

	// Source port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below
	SourcePortRange *SourcePortRangeInitParameters `json:"sourcePortRange,omitempty" tf:"source_port_range,omitempty"`

	// Direction of traffic to be captured. Valid values are ingress and egress
	TrafficDirection *string `json:"trafficDirection,omitempty" tf:"traffic_direction,omitempty"`

	// ID of the traffic mirror filter to which this rule should be added
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.TrafficMirrorFilter
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	TrafficMirrorFilterID *string `json:"trafficMirrorFilterId,omitempty" tf:"traffic_mirror_filter_id,omitempty"`

	// Reference to a TrafficMirrorFilter in ec2 to populate trafficMirrorFilterId.
	// +kubebuilder:validation:Optional
	TrafficMirrorFilterIDRef *v1.Reference `json:"trafficMirrorFilterIdRef,omitempty" tf:"-"`

	// Selector for a TrafficMirrorFilter in ec2 to populate trafficMirrorFilterId.
	// +kubebuilder:validation:Optional
	TrafficMirrorFilterIDSelector *v1.Selector `json:"trafficMirrorFilterIdSelector,omitempty" tf:"-"`
}

func (*TrafficMirrorFilterRuleInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficMirrorFilterRuleInitParameters.

func (*TrafficMirrorFilterRuleInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TrafficMirrorFilterRuleList added in v1.7.0

type TrafficMirrorFilterRuleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []TrafficMirrorFilterRule `json:"items"`
}

TrafficMirrorFilterRuleList contains a list of TrafficMirrorFilterRules

func (*TrafficMirrorFilterRuleList) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficMirrorFilterRuleList.

func (*TrafficMirrorFilterRuleList) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TrafficMirrorFilterRuleList) DeepCopyObject added in v1.7.0

func (in *TrafficMirrorFilterRuleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*TrafficMirrorFilterRuleList) GetItems added in v1.7.0

GetItems of this TrafficMirrorFilterRuleList.

type TrafficMirrorFilterRuleObservation added in v1.7.0

type TrafficMirrorFilterRuleObservation struct {

	// ARN of the traffic mirror filter rule.
	Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`

	// Description of the traffic mirror filter rule.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Destination CIDR block to assign to the Traffic Mirror rule.
	DestinationCidrBlock *string `json:"destinationCidrBlock,omitempty" tf:"destination_cidr_block,omitempty"`

	// Destination port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below
	DestinationPortRange *DestinationPortRangeObservation `json:"destinationPortRange,omitempty" tf:"destination_port_range,omitempty"`

	// Name of the traffic mirror filter rule.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Protocol number, for example 17 (UDP), to assign to the Traffic Mirror rule. For information about the protocol value, see Protocol Numbers on the Internet Assigned Numbers Authority (IANA) website.
	Protocol *float64 `json:"protocol,omitempty" tf:"protocol,omitempty"`

	// Action to take (accept | reject) on the filtered traffic. Valid values are accept and reject
	RuleAction *string `json:"ruleAction,omitempty" tf:"rule_action,omitempty"`

	// Number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.
	RuleNumber *float64 `json:"ruleNumber,omitempty" tf:"rule_number,omitempty"`

	// Source CIDR block to assign to the Traffic Mirror rule.
	SourceCidrBlock *string `json:"sourceCidrBlock,omitempty" tf:"source_cidr_block,omitempty"`

	// Source port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below
	SourcePortRange *SourcePortRangeObservation `json:"sourcePortRange,omitempty" tf:"source_port_range,omitempty"`

	// Direction of traffic to be captured. Valid values are ingress and egress
	TrafficDirection *string `json:"trafficDirection,omitempty" tf:"traffic_direction,omitempty"`

	// ID of the traffic mirror filter to which this rule should be added
	TrafficMirrorFilterID *string `json:"trafficMirrorFilterId,omitempty" tf:"traffic_mirror_filter_id,omitempty"`
}

func (*TrafficMirrorFilterRuleObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficMirrorFilterRuleObservation.

func (*TrafficMirrorFilterRuleObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TrafficMirrorFilterRuleParameters added in v1.7.0

type TrafficMirrorFilterRuleParameters struct {

	// Description of the traffic mirror filter rule.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Destination CIDR block to assign to the Traffic Mirror rule.
	// +kubebuilder:validation:Optional
	DestinationCidrBlock *string `json:"destinationCidrBlock,omitempty" tf:"destination_cidr_block,omitempty"`

	// Destination port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below
	// +kubebuilder:validation:Optional
	DestinationPortRange *DestinationPortRangeParameters `json:"destinationPortRange,omitempty" tf:"destination_port_range,omitempty"`

	// Protocol number, for example 17 (UDP), to assign to the Traffic Mirror rule. For information about the protocol value, see Protocol Numbers on the Internet Assigned Numbers Authority (IANA) website.
	// +kubebuilder:validation:Optional
	Protocol *float64 `json:"protocol,omitempty" tf:"protocol,omitempty"`

	// Region is the region you'd like your resource to be created in.
	// +upjet:crd:field:TFTag=-
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"-"`

	// Action to take (accept | reject) on the filtered traffic. Valid values are accept and reject
	// +kubebuilder:validation:Optional
	RuleAction *string `json:"ruleAction,omitempty" tf:"rule_action,omitempty"`

	// Number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.
	// +kubebuilder:validation:Optional
	RuleNumber *float64 `json:"ruleNumber,omitempty" tf:"rule_number,omitempty"`

	// Source CIDR block to assign to the Traffic Mirror rule.
	// +kubebuilder:validation:Optional
	SourceCidrBlock *string `json:"sourceCidrBlock,omitempty" tf:"source_cidr_block,omitempty"`

	// Source port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below
	// +kubebuilder:validation:Optional
	SourcePortRange *SourcePortRangeParameters `json:"sourcePortRange,omitempty" tf:"source_port_range,omitempty"`

	// Direction of traffic to be captured. Valid values are ingress and egress
	// +kubebuilder:validation:Optional
	TrafficDirection *string `json:"trafficDirection,omitempty" tf:"traffic_direction,omitempty"`

	// ID of the traffic mirror filter to which this rule should be added
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.TrafficMirrorFilter
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	TrafficMirrorFilterID *string `json:"trafficMirrorFilterId,omitempty" tf:"traffic_mirror_filter_id,omitempty"`

	// Reference to a TrafficMirrorFilter in ec2 to populate trafficMirrorFilterId.
	// +kubebuilder:validation:Optional
	TrafficMirrorFilterIDRef *v1.Reference `json:"trafficMirrorFilterIdRef,omitempty" tf:"-"`

	// Selector for a TrafficMirrorFilter in ec2 to populate trafficMirrorFilterId.
	// +kubebuilder:validation:Optional
	TrafficMirrorFilterIDSelector *v1.Selector `json:"trafficMirrorFilterIdSelector,omitempty" tf:"-"`
}

func (*TrafficMirrorFilterRuleParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficMirrorFilterRuleParameters.

func (*TrafficMirrorFilterRuleParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TrafficMirrorFilterRuleSpec added in v1.7.0

type TrafficMirrorFilterRuleSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     TrafficMirrorFilterRuleParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider TrafficMirrorFilterRuleInitParameters `json:"initProvider,omitempty"`
}

TrafficMirrorFilterRuleSpec defines the desired state of TrafficMirrorFilterRule

func (*TrafficMirrorFilterRuleSpec) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficMirrorFilterRuleSpec.

func (*TrafficMirrorFilterRuleSpec) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TrafficMirrorFilterRuleStatus added in v1.7.0

type TrafficMirrorFilterRuleStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        TrafficMirrorFilterRuleObservation `json:"atProvider,omitempty"`
}

TrafficMirrorFilterRuleStatus defines the observed state of TrafficMirrorFilterRule.

func (*TrafficMirrorFilterRuleStatus) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficMirrorFilterRuleStatus.

func (*TrafficMirrorFilterRuleStatus) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Tunnel1LogOptionsInitParameters added in v1.7.0

type Tunnel1LogOptionsInitParameters struct {

	// Options for sending VPN tunnel logs to CloudWatch. See CloudWatch Log Options below for more details.
	CloudwatchLogOptions *CloudwatchLogOptionsInitParameters `json:"cloudwatchLogOptions,omitempty" tf:"cloudwatch_log_options,omitempty"`
}

func (*Tunnel1LogOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tunnel1LogOptionsInitParameters.

func (*Tunnel1LogOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Tunnel1LogOptionsObservation added in v1.7.0

type Tunnel1LogOptionsObservation struct {

	// Options for sending VPN tunnel logs to CloudWatch. See CloudWatch Log Options below for more details.
	CloudwatchLogOptions *CloudwatchLogOptionsObservation `json:"cloudwatchLogOptions,omitempty" tf:"cloudwatch_log_options,omitempty"`
}

func (*Tunnel1LogOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tunnel1LogOptionsObservation.

func (*Tunnel1LogOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Tunnel1LogOptionsParameters added in v1.7.0

type Tunnel1LogOptionsParameters struct {

	// Options for sending VPN tunnel logs to CloudWatch. See CloudWatch Log Options below for more details.
	// +kubebuilder:validation:Optional
	CloudwatchLogOptions *CloudwatchLogOptionsParameters `json:"cloudwatchLogOptions,omitempty" tf:"cloudwatch_log_options,omitempty"`
}

func (*Tunnel1LogOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tunnel1LogOptionsParameters.

func (*Tunnel1LogOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Tunnel2LogOptionsCloudwatchLogOptionsInitParameters added in v1.7.0

type Tunnel2LogOptionsCloudwatchLogOptionsInitParameters struct {

	// Enable or disable VPN tunnel logging feature. The default is false.
	LogEnabled *bool `json:"logEnabled,omitempty" tf:"log_enabled,omitempty"`

	// The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.
	LogGroupArn *string `json:"logGroupArn,omitempty" tf:"log_group_arn,omitempty"`

	// Set log format. Default format is json. Possible values are: json and text. The default is json.
	LogOutputFormat *string `json:"logOutputFormat,omitempty" tf:"log_output_format,omitempty"`
}

func (*Tunnel2LogOptionsCloudwatchLogOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tunnel2LogOptionsCloudwatchLogOptionsInitParameters.

func (*Tunnel2LogOptionsCloudwatchLogOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Tunnel2LogOptionsCloudwatchLogOptionsObservation added in v1.7.0

type Tunnel2LogOptionsCloudwatchLogOptionsObservation struct {

	// Enable or disable VPN tunnel logging feature. The default is false.
	LogEnabled *bool `json:"logEnabled,omitempty" tf:"log_enabled,omitempty"`

	// The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.
	LogGroupArn *string `json:"logGroupArn,omitempty" tf:"log_group_arn,omitempty"`

	// Set log format. Default format is json. Possible values are: json and text. The default is json.
	LogOutputFormat *string `json:"logOutputFormat,omitempty" tf:"log_output_format,omitempty"`
}

func (*Tunnel2LogOptionsCloudwatchLogOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tunnel2LogOptionsCloudwatchLogOptionsObservation.

func (*Tunnel2LogOptionsCloudwatchLogOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Tunnel2LogOptionsCloudwatchLogOptionsParameters added in v1.7.0

type Tunnel2LogOptionsCloudwatchLogOptionsParameters struct {

	// Enable or disable VPN tunnel logging feature. The default is false.
	// +kubebuilder:validation:Optional
	LogEnabled *bool `json:"logEnabled,omitempty" tf:"log_enabled,omitempty"`

	// The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.
	// +kubebuilder:validation:Optional
	LogGroupArn *string `json:"logGroupArn,omitempty" tf:"log_group_arn,omitempty"`

	// Set log format. Default format is json. Possible values are: json and text. The default is json.
	// +kubebuilder:validation:Optional
	LogOutputFormat *string `json:"logOutputFormat,omitempty" tf:"log_output_format,omitempty"`
}

func (*Tunnel2LogOptionsCloudwatchLogOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tunnel2LogOptionsCloudwatchLogOptionsParameters.

func (*Tunnel2LogOptionsCloudwatchLogOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Tunnel2LogOptionsInitParameters added in v1.7.0

type Tunnel2LogOptionsInitParameters struct {

	// Options for sending VPN tunnel logs to CloudWatch. See CloudWatch Log Options below for more details.
	CloudwatchLogOptions *Tunnel2LogOptionsCloudwatchLogOptionsInitParameters `json:"cloudwatchLogOptions,omitempty" tf:"cloudwatch_log_options,omitempty"`
}

func (*Tunnel2LogOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tunnel2LogOptionsInitParameters.

func (*Tunnel2LogOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Tunnel2LogOptionsObservation added in v1.7.0

type Tunnel2LogOptionsObservation struct {

	// Options for sending VPN tunnel logs to CloudWatch. See CloudWatch Log Options below for more details.
	CloudwatchLogOptions *Tunnel2LogOptionsCloudwatchLogOptionsObservation `json:"cloudwatchLogOptions,omitempty" tf:"cloudwatch_log_options,omitempty"`
}

func (*Tunnel2LogOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tunnel2LogOptionsObservation.

func (*Tunnel2LogOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Tunnel2LogOptionsParameters added in v1.7.0

type Tunnel2LogOptionsParameters struct {

	// Options for sending VPN tunnel logs to CloudWatch. See CloudWatch Log Options below for more details.
	// +kubebuilder:validation:Optional
	CloudwatchLogOptions *Tunnel2LogOptionsCloudwatchLogOptionsParameters `json:"cloudwatchLogOptions,omitempty" tf:"cloudwatch_log_options,omitempty"`
}

func (*Tunnel2LogOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tunnel2LogOptionsParameters.

func (*Tunnel2LogOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserBucketInitParameters added in v1.7.0

type UserBucketInitParameters struct {

	// The name of the Amazon S3 bucket where the disk image is located.
	S3Bucket *string `json:"s3Bucket,omitempty" tf:"s3_bucket,omitempty"`

	// The file name of the disk image.
	S3Key *string `json:"s3Key,omitempty" tf:"s3_key,omitempty"`
}

func (*UserBucketInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserBucketInitParameters.

func (*UserBucketInitParameters) DeepCopyInto added in v1.7.0

func (in *UserBucketInitParameters) DeepCopyInto(out *UserBucketInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserBucketObservation added in v1.7.0

type UserBucketObservation struct {

	// The name of the Amazon S3 bucket where the disk image is located.
	S3Bucket *string `json:"s3Bucket,omitempty" tf:"s3_bucket,omitempty"`

	// The file name of the disk image.
	S3Key *string `json:"s3Key,omitempty" tf:"s3_key,omitempty"`
}

func (*UserBucketObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserBucketObservation.

func (*UserBucketObservation) DeepCopyInto added in v1.7.0

func (in *UserBucketObservation) DeepCopyInto(out *UserBucketObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserBucketParameters added in v1.7.0

type UserBucketParameters struct {

	// The name of the Amazon S3 bucket where the disk image is located.
	// +kubebuilder:validation:Optional
	S3Bucket *string `json:"s3Bucket" tf:"s3_bucket,omitempty"`

	// The file name of the disk image.
	// +kubebuilder:validation:Optional
	S3Key *string `json:"s3Key" tf:"s3_key,omitempty"`
}

func (*UserBucketParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserBucketParameters.

func (*UserBucketParameters) DeepCopyInto added in v1.7.0

func (in *UserBucketParameters) DeepCopyInto(out *UserBucketParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCEndpoint added in v1.7.0

type VPCEndpoint struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              VPCEndpointSpec   `json:"spec"`
	Status            VPCEndpointStatus `json:"status,omitempty"`
}

VPCEndpoint is the Schema for the VPCEndpoints API. Provides a VPC Endpoint resource. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*VPCEndpoint) DeepCopy added in v1.7.0

func (in *VPCEndpoint) DeepCopy() *VPCEndpoint

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCEndpoint.

func (*VPCEndpoint) DeepCopyInto added in v1.7.0

func (in *VPCEndpoint) DeepCopyInto(out *VPCEndpoint)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VPCEndpoint) DeepCopyObject added in v1.7.0

func (in *VPCEndpoint) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VPCEndpoint) GetCondition added in v1.7.0

func (mg *VPCEndpoint) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this VPCEndpoint.

func (*VPCEndpoint) GetConnectionDetailsMapping added in v1.7.0

func (tr *VPCEndpoint) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this VPCEndpoint

func (*VPCEndpoint) GetDeletionPolicy added in v1.7.0

func (mg *VPCEndpoint) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this VPCEndpoint.

func (*VPCEndpoint) GetID added in v1.7.0

func (tr *VPCEndpoint) GetID() string

GetID returns ID of underlying Terraform resource of this VPCEndpoint

func (*VPCEndpoint) GetInitParameters added in v1.7.0

func (tr *VPCEndpoint) GetInitParameters() (map[string]any, error)

GetInitParameters of this VPCEndpoint

func (*VPCEndpoint) GetManagementPolicies added in v1.7.0

func (mg *VPCEndpoint) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this VPCEndpoint.

func (*VPCEndpoint) GetMergedParameters added in v1.7.0

func (tr *VPCEndpoint) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this VPCEndpoint

func (*VPCEndpoint) GetObservation added in v1.7.0

func (tr *VPCEndpoint) GetObservation() (map[string]any, error)

GetObservation of this VPCEndpoint

func (*VPCEndpoint) GetParameters added in v1.7.0

func (tr *VPCEndpoint) GetParameters() (map[string]any, error)

GetParameters of this VPCEndpoint

func (*VPCEndpoint) GetProviderConfigReference added in v1.7.0

func (mg *VPCEndpoint) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this VPCEndpoint.

func (*VPCEndpoint) GetPublishConnectionDetailsTo added in v1.7.0

func (mg *VPCEndpoint) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this VPCEndpoint.

func (*VPCEndpoint) GetTerraformResourceType added in v1.7.0

func (mg *VPCEndpoint) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this VPCEndpoint

func (*VPCEndpoint) GetTerraformSchemaVersion added in v1.7.0

func (tr *VPCEndpoint) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*VPCEndpoint) GetWriteConnectionSecretToReference added in v1.7.0

func (mg *VPCEndpoint) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this VPCEndpoint.

func (*VPCEndpoint) Hub added in v1.7.0

func (tr *VPCEndpoint) Hub()

Hub marks this type as a conversion hub.

func (*VPCEndpoint) LateInitialize added in v1.7.0

func (tr *VPCEndpoint) LateInitialize(attrs []byte) (bool, error)

LateInitialize this VPCEndpoint using its observed tfState. returns True if there are any spec changes for the resource.

func (*VPCEndpoint) ResolveReferences added in v1.7.0

func (mg *VPCEndpoint) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this VPCEndpoint.

func (*VPCEndpoint) SetConditions added in v1.7.0

func (mg *VPCEndpoint) SetConditions(c ...xpv1.Condition)

SetConditions of this VPCEndpoint.

func (*VPCEndpoint) SetDeletionPolicy added in v1.7.0

func (mg *VPCEndpoint) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this VPCEndpoint.

func (*VPCEndpoint) SetManagementPolicies added in v1.7.0

func (mg *VPCEndpoint) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this VPCEndpoint.

func (*VPCEndpoint) SetObservation added in v1.7.0

func (tr *VPCEndpoint) SetObservation(obs map[string]any) error

SetObservation for this VPCEndpoint

func (*VPCEndpoint) SetParameters added in v1.7.0

func (tr *VPCEndpoint) SetParameters(params map[string]any) error

SetParameters for this VPCEndpoint

func (*VPCEndpoint) SetProviderConfigReference added in v1.7.0

func (mg *VPCEndpoint) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this VPCEndpoint.

func (*VPCEndpoint) SetPublishConnectionDetailsTo added in v1.7.0

func (mg *VPCEndpoint) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this VPCEndpoint.

func (*VPCEndpoint) SetWriteConnectionSecretToReference added in v1.7.0

func (mg *VPCEndpoint) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this VPCEndpoint.

type VPCEndpointInitParameters added in v1.7.0

type VPCEndpointInitParameters struct {

	// Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).
	AutoAccept *bool `json:"autoAccept,omitempty" tf:"auto_accept,omitempty"`

	// The DNS options for the endpoint. See dns_options below.
	DNSOptions *DNSOptionsInitParameters `json:"dnsOptions,omitempty" tf:"dns_options,omitempty"`

	// The IP address type for the endpoint. Valid values are ipv4, dualstack, and ipv6.
	IPAddressType *string `json:"ipAddressType,omitempty" tf:"ip_address_type,omitempty"`

	// A policy to attach to the endpoint that controls access to the service. This is a JSON formatted string. Defaults to full access. All Gateway and some Interface endpoints support policies - see the relevant AWS documentation for more details.
	Policy *string `json:"policy,omitempty" tf:"policy,omitempty"`

	// Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type Interface. Most users will want this enabled to allow services within the VPC to automatically use the endpoint.
	// Defaults to false.
	PrivateDNSEnabled *bool `json:"privateDnsEnabled,omitempty" tf:"private_dns_enabled,omitempty"`

	// The service name. For AWS services the service name is usually in the form com.amazonaws.<region>.<service> (the SageMaker Notebook service is an exception to this rule, the service name is in the form aws.sagemaker.<region>.notebook).
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.VPCEndpointService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("service_name",true)
	ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`

	// Reference to a VPCEndpointService in ec2 to populate serviceName.
	// +kubebuilder:validation:Optional
	ServiceNameRef *v1.Reference `json:"serviceNameRef,omitempty" tf:"-"`

	// Selector for a VPCEndpointService in ec2 to populate serviceName.
	// +kubebuilder:validation:Optional
	ServiceNameSelector *v1.Selector `json:"serviceNameSelector,omitempty" tf:"-"`

	// Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below.
	SubnetConfiguration []SubnetConfigurationInitParameters `json:"subnetConfiguration,omitempty" tf:"subnet_configuration,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The VPC endpoint type, Gateway, GatewayLoadBalancer, or Interface. Defaults to Gateway.
	VPCEndpointType *string `json:"vpcEndpointType,omitempty" tf:"vpc_endpoint_type,omitempty"`

	// The ID of the VPC in which the endpoint will be used.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.VPC
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`

	// Reference to a VPC in ec2 to populate vpcId.
	// +kubebuilder:validation:Optional
	VPCIDRef *v1.Reference `json:"vpcIdRef,omitempty" tf:"-"`

	// Selector for a VPC in ec2 to populate vpcId.
	// +kubebuilder:validation:Optional
	VPCIDSelector *v1.Selector `json:"vpcIdSelector,omitempty" tf:"-"`
}

func (*VPCEndpointInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCEndpointInitParameters.

func (*VPCEndpointInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCEndpointList added in v1.7.0

type VPCEndpointList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VPCEndpoint `json:"items"`
}

VPCEndpointList contains a list of VPCEndpoints

func (*VPCEndpointList) DeepCopy added in v1.7.0

func (in *VPCEndpointList) DeepCopy() *VPCEndpointList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCEndpointList.

func (*VPCEndpointList) DeepCopyInto added in v1.7.0

func (in *VPCEndpointList) DeepCopyInto(out *VPCEndpointList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VPCEndpointList) DeepCopyObject added in v1.7.0

func (in *VPCEndpointList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VPCEndpointList) GetItems added in v1.7.0

func (l *VPCEndpointList) GetItems() []resource.Managed

GetItems of this VPCEndpointList.

type VPCEndpointObservation added in v1.7.0

type VPCEndpointObservation struct {

	// The Amazon Resource Name (ARN) of the VPC endpoint.
	Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`

	// Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).
	AutoAccept *bool `json:"autoAccept,omitempty" tf:"auto_accept,omitempty"`

	// The list of CIDR blocks for the exposed AWS service. Applicable for endpoints of type Gateway.
	CidrBlocks []*string `json:"cidrBlocks,omitempty" tf:"cidr_blocks,omitempty"`

	// The DNS entries for the VPC Endpoint. Applicable for endpoints of type Interface. DNS blocks are documented below.
	DNSEntry []DNSEntryObservation `json:"dnsEntry,omitempty" tf:"dns_entry,omitempty"`

	// The DNS options for the endpoint. See dns_options below.
	DNSOptions *DNSOptionsObservation `json:"dnsOptions,omitempty" tf:"dns_options,omitempty"`

	// The ID of the VPC endpoint.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The IP address type for the endpoint. Valid values are ipv4, dualstack, and ipv6.
	IPAddressType *string `json:"ipAddressType,omitempty" tf:"ip_address_type,omitempty"`

	// One or more network interfaces for the VPC Endpoint. Applicable for endpoints of type Interface.
	// +listType=set
	NetworkInterfaceIds []*string `json:"networkInterfaceIds,omitempty" tf:"network_interface_ids,omitempty"`

	// The ID of the AWS account that owns the VPC endpoint.
	OwnerID *string `json:"ownerId,omitempty" tf:"owner_id,omitempty"`

	// A policy to attach to the endpoint that controls access to the service. This is a JSON formatted string. Defaults to full access. All Gateway and some Interface endpoints support policies - see the relevant AWS documentation for more details.
	Policy *string `json:"policy,omitempty" tf:"policy,omitempty"`

	// The prefix list ID of the exposed AWS service. Applicable for endpoints of type Gateway.
	PrefixListID *string `json:"prefixListId,omitempty" tf:"prefix_list_id,omitempty"`

	// Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type Interface. Most users will want this enabled to allow services within the VPC to automatically use the endpoint.
	// Defaults to false.
	PrivateDNSEnabled *bool `json:"privateDnsEnabled,omitempty" tf:"private_dns_enabled,omitempty"`

	// Whether or not the VPC Endpoint is being managed by its service - true or false.
	RequesterManaged *bool `json:"requesterManaged,omitempty" tf:"requester_managed,omitempty"`

	// One or more route table IDs. Applicable for endpoints of type Gateway.
	// +listType=set
	RouteTableIds []*string `json:"routeTableIds,omitempty" tf:"route_table_ids,omitempty"`

	// The ID of one or more security groups to associate with the network interface. Applicable for endpoints of type Interface.
	// If no security groups are specified, the VPC's default security group is associated with the endpoint.
	// +listType=set
	SecurityGroupIds []*string `json:"securityGroupIds,omitempty" tf:"security_group_ids,omitempty"`

	// The service name. For AWS services the service name is usually in the form com.amazonaws.<region>.<service> (the SageMaker Notebook service is an exception to this rule, the service name is in the form aws.sagemaker.<region>.notebook).
	ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`

	// The state of the VPC endpoint.
	State *string `json:"state,omitempty" tf:"state,omitempty"`

	// Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below.
	SubnetConfiguration []SubnetConfigurationObservation `json:"subnetConfiguration,omitempty" tf:"subnet_configuration,omitempty"`

	// The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type GatewayLoadBalancer and Interface. Interface type endpoints cannot function without being assigned to a subnet.
	// +listType=set
	SubnetIds []*string `json:"subnetIds,omitempty" tf:"subnet_ids,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// The VPC endpoint type, Gateway, GatewayLoadBalancer, or Interface. Defaults to Gateway.
	VPCEndpointType *string `json:"vpcEndpointType,omitempty" tf:"vpc_endpoint_type,omitempty"`

	// The ID of the VPC in which the endpoint will be used.
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`
}

func (*VPCEndpointObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCEndpointObservation.

func (*VPCEndpointObservation) DeepCopyInto added in v1.7.0

func (in *VPCEndpointObservation) DeepCopyInto(out *VPCEndpointObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCEndpointParameters added in v1.7.0

type VPCEndpointParameters struct {

	// Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).
	// +kubebuilder:validation:Optional
	AutoAccept *bool `json:"autoAccept,omitempty" tf:"auto_accept,omitempty"`

	// The DNS options for the endpoint. See dns_options below.
	// +kubebuilder:validation:Optional
	DNSOptions *DNSOptionsParameters `json:"dnsOptions,omitempty" tf:"dns_options,omitempty"`

	// The IP address type for the endpoint. Valid values are ipv4, dualstack, and ipv6.
	// +kubebuilder:validation:Optional
	IPAddressType *string `json:"ipAddressType,omitempty" tf:"ip_address_type,omitempty"`

	// A policy to attach to the endpoint that controls access to the service. This is a JSON formatted string. Defaults to full access. All Gateway and some Interface endpoints support policies - see the relevant AWS documentation for more details.
	// +kubebuilder:validation:Optional
	Policy *string `json:"policy,omitempty" tf:"policy,omitempty"`

	// Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type Interface. Most users will want this enabled to allow services within the VPC to automatically use the endpoint.
	// Defaults to false.
	// +kubebuilder:validation:Optional
	PrivateDNSEnabled *bool `json:"privateDnsEnabled,omitempty" tf:"private_dns_enabled,omitempty"`

	// Region is the region you'd like your resource to be created in.
	// +upjet:crd:field:TFTag=-
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"-"`

	// The service name. For AWS services the service name is usually in the form com.amazonaws.<region>.<service> (the SageMaker Notebook service is an exception to this rule, the service name is in the form aws.sagemaker.<region>.notebook).
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.VPCEndpointService
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("service_name",true)
	// +kubebuilder:validation:Optional
	ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`

	// Reference to a VPCEndpointService in ec2 to populate serviceName.
	// +kubebuilder:validation:Optional
	ServiceNameRef *v1.Reference `json:"serviceNameRef,omitempty" tf:"-"`

	// Selector for a VPCEndpointService in ec2 to populate serviceName.
	// +kubebuilder:validation:Optional
	ServiceNameSelector *v1.Selector `json:"serviceNameSelector,omitempty" tf:"-"`

	// Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below.
	// +kubebuilder:validation:Optional
	SubnetConfiguration []SubnetConfigurationParameters `json:"subnetConfiguration,omitempty" tf:"subnet_configuration,omitempty"`

	// Key-value map of resource tags.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The VPC endpoint type, Gateway, GatewayLoadBalancer, or Interface. Defaults to Gateway.
	// +kubebuilder:validation:Optional
	VPCEndpointType *string `json:"vpcEndpointType,omitempty" tf:"vpc_endpoint_type,omitempty"`

	// The ID of the VPC in which the endpoint will be used.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.VPC
	// +kubebuilder:validation:Optional
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`

	// Reference to a VPC in ec2 to populate vpcId.
	// +kubebuilder:validation:Optional
	VPCIDRef *v1.Reference `json:"vpcIdRef,omitempty" tf:"-"`

	// Selector for a VPC in ec2 to populate vpcId.
	// +kubebuilder:validation:Optional
	VPCIDSelector *v1.Selector `json:"vpcIdSelector,omitempty" tf:"-"`
}

func (*VPCEndpointParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCEndpointParameters.

func (*VPCEndpointParameters) DeepCopyInto added in v1.7.0

func (in *VPCEndpointParameters) DeepCopyInto(out *VPCEndpointParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCEndpointSpec added in v1.7.0

type VPCEndpointSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     VPCEndpointParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider VPCEndpointInitParameters `json:"initProvider,omitempty"`
}

VPCEndpointSpec defines the desired state of VPCEndpoint

func (*VPCEndpointSpec) DeepCopy added in v1.7.0

func (in *VPCEndpointSpec) DeepCopy() *VPCEndpointSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCEndpointSpec.

func (*VPCEndpointSpec) DeepCopyInto added in v1.7.0

func (in *VPCEndpointSpec) DeepCopyInto(out *VPCEndpointSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCEndpointStatus added in v1.7.0

type VPCEndpointStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        VPCEndpointObservation `json:"atProvider,omitempty"`
}

VPCEndpointStatus defines the observed state of VPCEndpoint.

func (*VPCEndpointStatus) DeepCopy added in v1.7.0

func (in *VPCEndpointStatus) DeepCopy() *VPCEndpointStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCEndpointStatus.

func (*VPCEndpointStatus) DeepCopyInto added in v1.7.0

func (in *VPCEndpointStatus) DeepCopyInto(out *VPCEndpointStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCIpamPoolCidr added in v1.7.0

type VPCIpamPoolCidr struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              VPCIpamPoolCidrSpec   `json:"spec"`
	Status            VPCIpamPoolCidrStatus `json:"status,omitempty"`
}

VPCIpamPoolCidr is the Schema for the VPCIpamPoolCidrs API. Provisions a CIDR from an IPAM address pool. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*VPCIpamPoolCidr) DeepCopy added in v1.7.0

func (in *VPCIpamPoolCidr) DeepCopy() *VPCIpamPoolCidr

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCIpamPoolCidr.

func (*VPCIpamPoolCidr) DeepCopyInto added in v1.7.0

func (in *VPCIpamPoolCidr) DeepCopyInto(out *VPCIpamPoolCidr)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VPCIpamPoolCidr) DeepCopyObject added in v1.7.0

func (in *VPCIpamPoolCidr) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VPCIpamPoolCidr) GetCondition added in v1.7.0

func (mg *VPCIpamPoolCidr) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this VPCIpamPoolCidr.

func (*VPCIpamPoolCidr) GetConnectionDetailsMapping added in v1.7.0

func (tr *VPCIpamPoolCidr) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this VPCIpamPoolCidr

func (*VPCIpamPoolCidr) GetDeletionPolicy added in v1.7.0

func (mg *VPCIpamPoolCidr) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this VPCIpamPoolCidr.

func (*VPCIpamPoolCidr) GetID added in v1.7.0

func (tr *VPCIpamPoolCidr) GetID() string

GetID returns ID of underlying Terraform resource of this VPCIpamPoolCidr

func (*VPCIpamPoolCidr) GetInitParameters added in v1.7.0

func (tr *VPCIpamPoolCidr) GetInitParameters() (map[string]any, error)

GetInitParameters of this VPCIpamPoolCidr

func (*VPCIpamPoolCidr) GetManagementPolicies added in v1.7.0

func (mg *VPCIpamPoolCidr) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this VPCIpamPoolCidr.

func (*VPCIpamPoolCidr) GetMergedParameters added in v1.7.0

func (tr *VPCIpamPoolCidr) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this VPCIpamPoolCidr

func (*VPCIpamPoolCidr) GetObservation added in v1.7.0

func (tr *VPCIpamPoolCidr) GetObservation() (map[string]any, error)

GetObservation of this VPCIpamPoolCidr

func (*VPCIpamPoolCidr) GetParameters added in v1.7.0

func (tr *VPCIpamPoolCidr) GetParameters() (map[string]any, error)

GetParameters of this VPCIpamPoolCidr

func (*VPCIpamPoolCidr) GetProviderConfigReference added in v1.7.0

func (mg *VPCIpamPoolCidr) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this VPCIpamPoolCidr.

func (*VPCIpamPoolCidr) GetPublishConnectionDetailsTo added in v1.7.0

func (mg *VPCIpamPoolCidr) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this VPCIpamPoolCidr.

func (*VPCIpamPoolCidr) GetTerraformResourceType added in v1.7.0

func (mg *VPCIpamPoolCidr) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this VPCIpamPoolCidr

func (*VPCIpamPoolCidr) GetTerraformSchemaVersion added in v1.7.0

func (tr *VPCIpamPoolCidr) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*VPCIpamPoolCidr) GetWriteConnectionSecretToReference added in v1.7.0

func (mg *VPCIpamPoolCidr) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this VPCIpamPoolCidr.

func (*VPCIpamPoolCidr) Hub added in v1.7.0

func (tr *VPCIpamPoolCidr) Hub()

Hub marks this type as a conversion hub.

func (*VPCIpamPoolCidr) LateInitialize added in v1.7.0

func (tr *VPCIpamPoolCidr) LateInitialize(attrs []byte) (bool, error)

LateInitialize this VPCIpamPoolCidr using its observed tfState. returns True if there are any spec changes for the resource.

func (*VPCIpamPoolCidr) ResolveReferences added in v1.7.0

func (mg *VPCIpamPoolCidr) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this VPCIpamPoolCidr.

func (*VPCIpamPoolCidr) SetConditions added in v1.7.0

func (mg *VPCIpamPoolCidr) SetConditions(c ...xpv1.Condition)

SetConditions of this VPCIpamPoolCidr.

func (*VPCIpamPoolCidr) SetDeletionPolicy added in v1.7.0

func (mg *VPCIpamPoolCidr) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this VPCIpamPoolCidr.

func (*VPCIpamPoolCidr) SetManagementPolicies added in v1.7.0

func (mg *VPCIpamPoolCidr) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this VPCIpamPoolCidr.

func (*VPCIpamPoolCidr) SetObservation added in v1.7.0

func (tr *VPCIpamPoolCidr) SetObservation(obs map[string]any) error

SetObservation for this VPCIpamPoolCidr

func (*VPCIpamPoolCidr) SetParameters added in v1.7.0

func (tr *VPCIpamPoolCidr) SetParameters(params map[string]any) error

SetParameters for this VPCIpamPoolCidr

func (*VPCIpamPoolCidr) SetProviderConfigReference added in v1.7.0

func (mg *VPCIpamPoolCidr) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this VPCIpamPoolCidr.

func (*VPCIpamPoolCidr) SetPublishConnectionDetailsTo added in v1.7.0

func (mg *VPCIpamPoolCidr) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this VPCIpamPoolCidr.

func (*VPCIpamPoolCidr) SetWriteConnectionSecretToReference added in v1.7.0

func (mg *VPCIpamPoolCidr) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this VPCIpamPoolCidr.

type VPCIpamPoolCidrInitParameters added in v1.7.0

type VPCIpamPoolCidrInitParameters struct {

	// The CIDR you want to assign to the pool. Conflicts with netmask_length.
	Cidr *string `json:"cidr,omitempty" tf:"cidr,omitempty"`

	// A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP. This is not stored in the state file. See cidr_authorization_context for more information.
	CidrAuthorizationContext *CidrAuthorizationContextInitParameters `json:"cidrAuthorizationContext,omitempty" tf:"cidr_authorization_context,omitempty"`

	// The ID of the pool to which you want to assign a CIDR.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.VPCIpamPool
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	IpamPoolID *string `json:"ipamPoolId,omitempty" tf:"ipam_pool_id,omitempty"`

	// Reference to a VPCIpamPool in ec2 to populate ipamPoolId.
	// +kubebuilder:validation:Optional
	IpamPoolIDRef *v1.Reference `json:"ipamPoolIdRef,omitempty" tf:"-"`

	// Selector for a VPCIpamPool in ec2 to populate ipamPoolId.
	// +kubebuilder:validation:Optional
	IpamPoolIDSelector *v1.Selector `json:"ipamPoolIdSelector,omitempty" tf:"-"`

	// If provided, the cidr provisioned into the specified pool will be the next available cidr given this declared netmask length. Conflicts with cidr.
	NetmaskLength *float64 `json:"netmaskLength,omitempty" tf:"netmask_length,omitempty"`
}

func (*VPCIpamPoolCidrInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCIpamPoolCidrInitParameters.

func (*VPCIpamPoolCidrInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCIpamPoolCidrList added in v1.7.0

type VPCIpamPoolCidrList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VPCIpamPoolCidr `json:"items"`
}

VPCIpamPoolCidrList contains a list of VPCIpamPoolCidrs

func (*VPCIpamPoolCidrList) DeepCopy added in v1.7.0

func (in *VPCIpamPoolCidrList) DeepCopy() *VPCIpamPoolCidrList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCIpamPoolCidrList.

func (*VPCIpamPoolCidrList) DeepCopyInto added in v1.7.0

func (in *VPCIpamPoolCidrList) DeepCopyInto(out *VPCIpamPoolCidrList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VPCIpamPoolCidrList) DeepCopyObject added in v1.7.0

func (in *VPCIpamPoolCidrList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VPCIpamPoolCidrList) GetItems added in v1.7.0

func (l *VPCIpamPoolCidrList) GetItems() []resource.Managed

GetItems of this VPCIpamPoolCidrList.

type VPCIpamPoolCidrObservation added in v1.7.0

type VPCIpamPoolCidrObservation struct {

	// The CIDR you want to assign to the pool. Conflicts with netmask_length.
	Cidr *string `json:"cidr,omitempty" tf:"cidr,omitempty"`

	// A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP. This is not stored in the state file. See cidr_authorization_context for more information.
	CidrAuthorizationContext *CidrAuthorizationContextObservation `json:"cidrAuthorizationContext,omitempty" tf:"cidr_authorization_context,omitempty"`

	// The ID of the IPAM Pool Cidr concatenated with the IPAM Pool ID.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The unique ID generated by AWS for the pool cidr.
	IpamPoolCidrID *string `json:"ipamPoolCidrId,omitempty" tf:"ipam_pool_cidr_id,omitempty"`

	// The ID of the pool to which you want to assign a CIDR.
	IpamPoolID *string `json:"ipamPoolId,omitempty" tf:"ipam_pool_id,omitempty"`

	// If provided, the cidr provisioned into the specified pool will be the next available cidr given this declared netmask length. Conflicts with cidr.
	NetmaskLength *float64 `json:"netmaskLength,omitempty" tf:"netmask_length,omitempty"`
}

func (*VPCIpamPoolCidrObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCIpamPoolCidrObservation.

func (*VPCIpamPoolCidrObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCIpamPoolCidrParameters added in v1.7.0

type VPCIpamPoolCidrParameters struct {

	// The CIDR you want to assign to the pool. Conflicts with netmask_length.
	// +kubebuilder:validation:Optional
	Cidr *string `json:"cidr,omitempty" tf:"cidr,omitempty"`

	// A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP. This is not stored in the state file. See cidr_authorization_context for more information.
	// +kubebuilder:validation:Optional
	CidrAuthorizationContext *CidrAuthorizationContextParameters `json:"cidrAuthorizationContext,omitempty" tf:"cidr_authorization_context,omitempty"`

	// The ID of the pool to which you want to assign a CIDR.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.VPCIpamPool
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	IpamPoolID *string `json:"ipamPoolId,omitempty" tf:"ipam_pool_id,omitempty"`

	// Reference to a VPCIpamPool in ec2 to populate ipamPoolId.
	// +kubebuilder:validation:Optional
	IpamPoolIDRef *v1.Reference `json:"ipamPoolIdRef,omitempty" tf:"-"`

	// Selector for a VPCIpamPool in ec2 to populate ipamPoolId.
	// +kubebuilder:validation:Optional
	IpamPoolIDSelector *v1.Selector `json:"ipamPoolIdSelector,omitempty" tf:"-"`

	// If provided, the cidr provisioned into the specified pool will be the next available cidr given this declared netmask length. Conflicts with cidr.
	// +kubebuilder:validation:Optional
	NetmaskLength *float64 `json:"netmaskLength,omitempty" tf:"netmask_length,omitempty"`

	// Region is the region you'd like your resource to be created in.
	// +upjet:crd:field:TFTag=-
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"-"`
}

func (*VPCIpamPoolCidrParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCIpamPoolCidrParameters.

func (*VPCIpamPoolCidrParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCIpamPoolCidrSpec added in v1.7.0

type VPCIpamPoolCidrSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     VPCIpamPoolCidrParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider VPCIpamPoolCidrInitParameters `json:"initProvider,omitempty"`
}

VPCIpamPoolCidrSpec defines the desired state of VPCIpamPoolCidr

func (*VPCIpamPoolCidrSpec) DeepCopy added in v1.7.0

func (in *VPCIpamPoolCidrSpec) DeepCopy() *VPCIpamPoolCidrSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCIpamPoolCidrSpec.

func (*VPCIpamPoolCidrSpec) DeepCopyInto added in v1.7.0

func (in *VPCIpamPoolCidrSpec) DeepCopyInto(out *VPCIpamPoolCidrSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCIpamPoolCidrStatus added in v1.7.0

type VPCIpamPoolCidrStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        VPCIpamPoolCidrObservation `json:"atProvider,omitempty"`
}

VPCIpamPoolCidrStatus defines the observed state of VPCIpamPoolCidr.

func (*VPCIpamPoolCidrStatus) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCIpamPoolCidrStatus.

func (*VPCIpamPoolCidrStatus) DeepCopyInto added in v1.7.0

func (in *VPCIpamPoolCidrStatus) DeepCopyInto(out *VPCIpamPoolCidrStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnection added in v1.7.0

type VPCPeeringConnection struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              VPCPeeringConnectionSpec   `json:"spec"`
	Status            VPCPeeringConnectionStatus `json:"status,omitempty"`
}

VPCPeeringConnection is the Schema for the VPCPeeringConnections API. Provides a resource to manage a VPC peering connection. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*VPCPeeringConnection) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnection.

func (*VPCPeeringConnection) DeepCopyInto added in v1.7.0

func (in *VPCPeeringConnection) DeepCopyInto(out *VPCPeeringConnection)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VPCPeeringConnection) DeepCopyObject added in v1.7.0

func (in *VPCPeeringConnection) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VPCPeeringConnection) GetCondition added in v1.7.0

func (mg *VPCPeeringConnection) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this VPCPeeringConnection.

func (*VPCPeeringConnection) GetConnectionDetailsMapping added in v1.7.0

func (tr *VPCPeeringConnection) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this VPCPeeringConnection

func (*VPCPeeringConnection) GetDeletionPolicy added in v1.7.0

func (mg *VPCPeeringConnection) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this VPCPeeringConnection.

func (*VPCPeeringConnection) GetID added in v1.7.0

func (tr *VPCPeeringConnection) GetID() string

GetID returns ID of underlying Terraform resource of this VPCPeeringConnection

func (*VPCPeeringConnection) GetInitParameters added in v1.7.0

func (tr *VPCPeeringConnection) GetInitParameters() (map[string]any, error)

GetInitParameters of this VPCPeeringConnection

func (*VPCPeeringConnection) GetManagementPolicies added in v1.7.0

func (mg *VPCPeeringConnection) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this VPCPeeringConnection.

func (*VPCPeeringConnection) GetMergedParameters added in v1.7.0

func (tr *VPCPeeringConnection) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this VPCPeeringConnection

func (*VPCPeeringConnection) GetObservation added in v1.7.0

func (tr *VPCPeeringConnection) GetObservation() (map[string]any, error)

GetObservation of this VPCPeeringConnection

func (*VPCPeeringConnection) GetParameters added in v1.7.0

func (tr *VPCPeeringConnection) GetParameters() (map[string]any, error)

GetParameters of this VPCPeeringConnection

func (*VPCPeeringConnection) GetProviderConfigReference added in v1.7.0

func (mg *VPCPeeringConnection) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this VPCPeeringConnection.

func (*VPCPeeringConnection) GetPublishConnectionDetailsTo added in v1.7.0

func (mg *VPCPeeringConnection) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this VPCPeeringConnection.

func (*VPCPeeringConnection) GetTerraformResourceType added in v1.7.0

func (mg *VPCPeeringConnection) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this VPCPeeringConnection

func (*VPCPeeringConnection) GetTerraformSchemaVersion added in v1.7.0

func (tr *VPCPeeringConnection) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*VPCPeeringConnection) GetWriteConnectionSecretToReference added in v1.7.0

func (mg *VPCPeeringConnection) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this VPCPeeringConnection.

func (*VPCPeeringConnection) Hub added in v1.7.0

func (tr *VPCPeeringConnection) Hub()

Hub marks this type as a conversion hub.

func (*VPCPeeringConnection) LateInitialize added in v1.7.0

func (tr *VPCPeeringConnection) LateInitialize(attrs []byte) (bool, error)

LateInitialize this VPCPeeringConnection using its observed tfState. returns True if there are any spec changes for the resource.

func (*VPCPeeringConnection) ResolveReferences added in v1.7.0

func (mg *VPCPeeringConnection) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this VPCPeeringConnection.

func (*VPCPeeringConnection) SetConditions added in v1.7.0

func (mg *VPCPeeringConnection) SetConditions(c ...xpv1.Condition)

SetConditions of this VPCPeeringConnection.

func (*VPCPeeringConnection) SetDeletionPolicy added in v1.7.0

func (mg *VPCPeeringConnection) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this VPCPeeringConnection.

func (*VPCPeeringConnection) SetManagementPolicies added in v1.7.0

func (mg *VPCPeeringConnection) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this VPCPeeringConnection.

func (*VPCPeeringConnection) SetObservation added in v1.7.0

func (tr *VPCPeeringConnection) SetObservation(obs map[string]any) error

SetObservation for this VPCPeeringConnection

func (*VPCPeeringConnection) SetParameters added in v1.7.0

func (tr *VPCPeeringConnection) SetParameters(params map[string]any) error

SetParameters for this VPCPeeringConnection

func (*VPCPeeringConnection) SetProviderConfigReference added in v1.7.0

func (mg *VPCPeeringConnection) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this VPCPeeringConnection.

func (*VPCPeeringConnection) SetPublishConnectionDetailsTo added in v1.7.0

func (mg *VPCPeeringConnection) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this VPCPeeringConnection.

func (*VPCPeeringConnection) SetWriteConnectionSecretToReference added in v1.7.0

func (mg *VPCPeeringConnection) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this VPCPeeringConnection.

type VPCPeeringConnectionAccepter added in v1.7.0

type VPCPeeringConnectionAccepter struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              VPCPeeringConnectionAccepterSpec   `json:"spec"`
	Status            VPCPeeringConnectionAccepterStatus `json:"status,omitempty"`
}

VPCPeeringConnectionAccepter is the Schema for the VPCPeeringConnectionAccepters API. Manage the accepter's side of a VPC Peering Connection. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*VPCPeeringConnectionAccepter) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionAccepter.

func (*VPCPeeringConnectionAccepter) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VPCPeeringConnectionAccepter) DeepCopyObject added in v1.7.0

func (in *VPCPeeringConnectionAccepter) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VPCPeeringConnectionAccepter) GetCondition added in v1.7.0

GetCondition of this VPCPeeringConnectionAccepter.

func (*VPCPeeringConnectionAccepter) GetConnectionDetailsMapping added in v1.7.0

func (tr *VPCPeeringConnectionAccepter) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this VPCPeeringConnectionAccepter

func (*VPCPeeringConnectionAccepter) GetDeletionPolicy added in v1.7.0

func (mg *VPCPeeringConnectionAccepter) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this VPCPeeringConnectionAccepter.

func (*VPCPeeringConnectionAccepter) GetID added in v1.7.0

GetID returns ID of underlying Terraform resource of this VPCPeeringConnectionAccepter

func (*VPCPeeringConnectionAccepter) GetInitParameters added in v1.7.0

func (tr *VPCPeeringConnectionAccepter) GetInitParameters() (map[string]any, error)

GetInitParameters of this VPCPeeringConnectionAccepter

func (*VPCPeeringConnectionAccepter) GetManagementPolicies added in v1.7.0

func (mg *VPCPeeringConnectionAccepter) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this VPCPeeringConnectionAccepter.

func (*VPCPeeringConnectionAccepter) GetMergedParameters added in v1.7.0

func (tr *VPCPeeringConnectionAccepter) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this VPCPeeringConnectionAccepter

func (*VPCPeeringConnectionAccepter) GetObservation added in v1.7.0

func (tr *VPCPeeringConnectionAccepter) GetObservation() (map[string]any, error)

GetObservation of this VPCPeeringConnectionAccepter

func (*VPCPeeringConnectionAccepter) GetParameters added in v1.7.0

func (tr *VPCPeeringConnectionAccepter) GetParameters() (map[string]any, error)

GetParameters of this VPCPeeringConnectionAccepter

func (*VPCPeeringConnectionAccepter) GetProviderConfigReference added in v1.7.0

func (mg *VPCPeeringConnectionAccepter) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this VPCPeeringConnectionAccepter.

func (*VPCPeeringConnectionAccepter) GetPublishConnectionDetailsTo added in v1.7.0

func (mg *VPCPeeringConnectionAccepter) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this VPCPeeringConnectionAccepter.

func (*VPCPeeringConnectionAccepter) GetTerraformResourceType added in v1.7.0

func (mg *VPCPeeringConnectionAccepter) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this VPCPeeringConnectionAccepter

func (*VPCPeeringConnectionAccepter) GetTerraformSchemaVersion added in v1.7.0

func (tr *VPCPeeringConnectionAccepter) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*VPCPeeringConnectionAccepter) GetWriteConnectionSecretToReference added in v1.7.0

func (mg *VPCPeeringConnectionAccepter) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this VPCPeeringConnectionAccepter.

func (*VPCPeeringConnectionAccepter) Hub added in v1.7.0

func (tr *VPCPeeringConnectionAccepter) Hub()

Hub marks this type as a conversion hub.

func (*VPCPeeringConnectionAccepter) LateInitialize added in v1.7.0

func (tr *VPCPeeringConnectionAccepter) LateInitialize(attrs []byte) (bool, error)

LateInitialize this VPCPeeringConnectionAccepter using its observed tfState. returns True if there are any spec changes for the resource.

func (*VPCPeeringConnectionAccepter) ResolveReferences added in v1.7.0

func (mg *VPCPeeringConnectionAccepter) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this VPCPeeringConnectionAccepter.

func (*VPCPeeringConnectionAccepter) SetConditions added in v1.7.0

func (mg *VPCPeeringConnectionAccepter) SetConditions(c ...xpv1.Condition)

SetConditions of this VPCPeeringConnectionAccepter.

func (*VPCPeeringConnectionAccepter) SetDeletionPolicy added in v1.7.0

func (mg *VPCPeeringConnectionAccepter) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this VPCPeeringConnectionAccepter.

func (*VPCPeeringConnectionAccepter) SetManagementPolicies added in v1.7.0

func (mg *VPCPeeringConnectionAccepter) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this VPCPeeringConnectionAccepter.

func (*VPCPeeringConnectionAccepter) SetObservation added in v1.7.0

func (tr *VPCPeeringConnectionAccepter) SetObservation(obs map[string]any) error

SetObservation for this VPCPeeringConnectionAccepter

func (*VPCPeeringConnectionAccepter) SetParameters added in v1.7.0

func (tr *VPCPeeringConnectionAccepter) SetParameters(params map[string]any) error

SetParameters for this VPCPeeringConnectionAccepter

func (*VPCPeeringConnectionAccepter) SetProviderConfigReference added in v1.7.0

func (mg *VPCPeeringConnectionAccepter) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this VPCPeeringConnectionAccepter.

func (*VPCPeeringConnectionAccepter) SetPublishConnectionDetailsTo added in v1.7.0

func (mg *VPCPeeringConnectionAccepter) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this VPCPeeringConnectionAccepter.

func (*VPCPeeringConnectionAccepter) SetWriteConnectionSecretToReference added in v1.7.0

func (mg *VPCPeeringConnectionAccepter) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this VPCPeeringConnectionAccepter.

type VPCPeeringConnectionAccepterAccepterInitParameters added in v1.7.0

type VPCPeeringConnectionAccepterAccepterInitParameters struct {

	// Indicates whether a local VPC can resolve public DNS hostnames to
	// private IP addresses when queried from instances in a peer VPC.
	AllowRemoteVPCDNSResolution *bool `json:"allowRemoteVpcDnsResolution,omitempty" tf:"allow_remote_vpc_dns_resolution,omitempty"`
}

func (*VPCPeeringConnectionAccepterAccepterInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionAccepterAccepterInitParameters.

func (*VPCPeeringConnectionAccepterAccepterInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionAccepterAccepterObservation added in v1.7.0

type VPCPeeringConnectionAccepterAccepterObservation struct {

	// Indicates whether a local VPC can resolve public DNS hostnames to
	// private IP addresses when queried from instances in a peer VPC.
	AllowRemoteVPCDNSResolution *bool `json:"allowRemoteVpcDnsResolution,omitempty" tf:"allow_remote_vpc_dns_resolution,omitempty"`
}

func (*VPCPeeringConnectionAccepterAccepterObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionAccepterAccepterObservation.

func (*VPCPeeringConnectionAccepterAccepterObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionAccepterAccepterParameters added in v1.7.0

type VPCPeeringConnectionAccepterAccepterParameters struct {

	// Indicates whether a local VPC can resolve public DNS hostnames to
	// private IP addresses when queried from instances in a peer VPC.
	// +kubebuilder:validation:Optional
	AllowRemoteVPCDNSResolution *bool `json:"allowRemoteVpcDnsResolution,omitempty" tf:"allow_remote_vpc_dns_resolution,omitempty"`
}

func (*VPCPeeringConnectionAccepterAccepterParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionAccepterAccepterParameters.

func (*VPCPeeringConnectionAccepterAccepterParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionAccepterInitParameters added in v1.7.0

type VPCPeeringConnectionAccepterInitParameters struct {

	// A configuration block that describes [VPC Peering Connection]
	// (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the accepter VPC.
	Accepter *VPCPeeringConnectionAccepterAccepterInitParameters `json:"accepter,omitempty" tf:"accepter,omitempty"`

	// Whether or not to accept the peering request. Defaults to false.
	AutoAccept *bool `json:"autoAccept,omitempty" tf:"auto_accept,omitempty"`

	// A configuration block that describes [VPC Peering Connection]
	// (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the requester VPC.
	Requester *VPCPeeringConnectionAccepterRequesterInitParameters `json:"requester,omitempty" tf:"requester,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The VPC Peering Connection ID to manage.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.VPCPeeringConnection
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	VPCPeeringConnectionID *string `json:"vpcPeeringConnectionId,omitempty" tf:"vpc_peering_connection_id,omitempty"`

	// Reference to a VPCPeeringConnection in ec2 to populate vpcPeeringConnectionId.
	// +kubebuilder:validation:Optional
	VPCPeeringConnectionIDRef *v1.Reference `json:"vpcPeeringConnectionIdRef,omitempty" tf:"-"`

	// Selector for a VPCPeeringConnection in ec2 to populate vpcPeeringConnectionId.
	// +kubebuilder:validation:Optional
	VPCPeeringConnectionIDSelector *v1.Selector `json:"vpcPeeringConnectionIdSelector,omitempty" tf:"-"`
}

func (*VPCPeeringConnectionAccepterInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionAccepterInitParameters.

func (*VPCPeeringConnectionAccepterInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionAccepterList added in v1.7.0

type VPCPeeringConnectionAccepterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VPCPeeringConnectionAccepter `json:"items"`
}

VPCPeeringConnectionAccepterList contains a list of VPCPeeringConnectionAccepters

func (*VPCPeeringConnectionAccepterList) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionAccepterList.

func (*VPCPeeringConnectionAccepterList) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VPCPeeringConnectionAccepterList) DeepCopyObject added in v1.7.0

func (in *VPCPeeringConnectionAccepterList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VPCPeeringConnectionAccepterList) GetItems added in v1.7.0

GetItems of this VPCPeeringConnectionAccepterList.

type VPCPeeringConnectionAccepterObservation added in v1.7.0

type VPCPeeringConnectionAccepterObservation struct {

	// The status of the VPC Peering Connection request.
	AcceptStatus *string `json:"acceptStatus,omitempty" tf:"accept_status,omitempty"`

	// A configuration block that describes [VPC Peering Connection]
	// (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the accepter VPC.
	Accepter *VPCPeeringConnectionAccepterAccepterObservation `json:"accepter,omitempty" tf:"accepter,omitempty"`

	// Whether or not to accept the peering request. Defaults to false.
	AutoAccept *bool `json:"autoAccept,omitempty" tf:"auto_accept,omitempty"`

	// The ID of the VPC Peering Connection.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The AWS account ID of the owner of the requester VPC.
	PeerOwnerID *string `json:"peerOwnerId,omitempty" tf:"peer_owner_id,omitempty"`

	// The region of the accepter VPC.
	PeerRegion *string `json:"peerRegion,omitempty" tf:"peer_region,omitempty"`

	// The ID of the requester VPC.
	PeerVPCID *string `json:"peerVpcId,omitempty" tf:"peer_vpc_id,omitempty"`

	// A configuration block that describes [VPC Peering Connection]
	// (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the requester VPC.
	Requester *VPCPeeringConnectionAccepterRequesterObservation `json:"requester,omitempty" tf:"requester,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// The ID of the accepter VPC.
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`

	// The VPC Peering Connection ID to manage.
	VPCPeeringConnectionID *string `json:"vpcPeeringConnectionId,omitempty" tf:"vpc_peering_connection_id,omitempty"`
}

func (*VPCPeeringConnectionAccepterObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionAccepterObservation.

func (*VPCPeeringConnectionAccepterObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionAccepterParameters added in v1.7.0

type VPCPeeringConnectionAccepterParameters struct {

	// A configuration block that describes [VPC Peering Connection]
	// (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the accepter VPC.
	// +kubebuilder:validation:Optional
	Accepter *VPCPeeringConnectionAccepterAccepterParameters `json:"accepter,omitempty" tf:"accepter,omitempty"`

	// Whether or not to accept the peering request. Defaults to false.
	// +kubebuilder:validation:Optional
	AutoAccept *bool `json:"autoAccept,omitempty" tf:"auto_accept,omitempty"`

	// Region is the region you'd like your resource to be created in.
	// +upjet:crd:field:TFTag=-
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"-"`

	// A configuration block that describes [VPC Peering Connection]
	// (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the requester VPC.
	// +kubebuilder:validation:Optional
	Requester *VPCPeeringConnectionAccepterRequesterParameters `json:"requester,omitempty" tf:"requester,omitempty"`

	// Key-value map of resource tags.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The VPC Peering Connection ID to manage.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.VPCPeeringConnection
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	VPCPeeringConnectionID *string `json:"vpcPeeringConnectionId,omitempty" tf:"vpc_peering_connection_id,omitempty"`

	// Reference to a VPCPeeringConnection in ec2 to populate vpcPeeringConnectionId.
	// +kubebuilder:validation:Optional
	VPCPeeringConnectionIDRef *v1.Reference `json:"vpcPeeringConnectionIdRef,omitempty" tf:"-"`

	// Selector for a VPCPeeringConnection in ec2 to populate vpcPeeringConnectionId.
	// +kubebuilder:validation:Optional
	VPCPeeringConnectionIDSelector *v1.Selector `json:"vpcPeeringConnectionIdSelector,omitempty" tf:"-"`
}

func (*VPCPeeringConnectionAccepterParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionAccepterParameters.

func (*VPCPeeringConnectionAccepterParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionAccepterRequesterInitParameters added in v1.7.0

type VPCPeeringConnectionAccepterRequesterInitParameters struct {

	// Indicates whether a local VPC can resolve public DNS hostnames to
	// private IP addresses when queried from instances in a peer VPC.
	AllowRemoteVPCDNSResolution *bool `json:"allowRemoteVpcDnsResolution,omitempty" tf:"allow_remote_vpc_dns_resolution,omitempty"`
}

func (*VPCPeeringConnectionAccepterRequesterInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionAccepterRequesterInitParameters.

func (*VPCPeeringConnectionAccepterRequesterInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionAccepterRequesterObservation added in v1.7.0

type VPCPeeringConnectionAccepterRequesterObservation struct {

	// Indicates whether a local VPC can resolve public DNS hostnames to
	// private IP addresses when queried from instances in a peer VPC.
	AllowRemoteVPCDNSResolution *bool `json:"allowRemoteVpcDnsResolution,omitempty" tf:"allow_remote_vpc_dns_resolution,omitempty"`
}

func (*VPCPeeringConnectionAccepterRequesterObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionAccepterRequesterObservation.

func (*VPCPeeringConnectionAccepterRequesterObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionAccepterRequesterParameters added in v1.7.0

type VPCPeeringConnectionAccepterRequesterParameters struct {

	// Indicates whether a local VPC can resolve public DNS hostnames to
	// private IP addresses when queried from instances in a peer VPC.
	// +kubebuilder:validation:Optional
	AllowRemoteVPCDNSResolution *bool `json:"allowRemoteVpcDnsResolution,omitempty" tf:"allow_remote_vpc_dns_resolution,omitempty"`
}

func (*VPCPeeringConnectionAccepterRequesterParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionAccepterRequesterParameters.

func (*VPCPeeringConnectionAccepterRequesterParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionAccepterSpec added in v1.7.0

type VPCPeeringConnectionAccepterSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     VPCPeeringConnectionAccepterParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider VPCPeeringConnectionAccepterInitParameters `json:"initProvider,omitempty"`
}

VPCPeeringConnectionAccepterSpec defines the desired state of VPCPeeringConnectionAccepter

func (*VPCPeeringConnectionAccepterSpec) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionAccepterSpec.

func (*VPCPeeringConnectionAccepterSpec) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionAccepterStatus added in v1.7.0

type VPCPeeringConnectionAccepterStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        VPCPeeringConnectionAccepterObservation `json:"atProvider,omitempty"`
}

VPCPeeringConnectionAccepterStatus defines the observed state of VPCPeeringConnectionAccepter.

func (*VPCPeeringConnectionAccepterStatus) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionAccepterStatus.

func (*VPCPeeringConnectionAccepterStatus) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionInitParameters added in v1.7.0

type VPCPeeringConnectionInitParameters struct {

	// Accept the peering (both VPCs need to be in the same AWS account and region).
	AutoAccept *bool `json:"autoAccept,omitempty" tf:"auto_accept,omitempty"`

	// The AWS account ID of the target peer VPC.
	// Defaults to the account ID the AWS provider is currently connected to, so must be managed if connecting cross-account.
	PeerOwnerID *string `json:"peerOwnerId,omitempty" tf:"peer_owner_id,omitempty"`

	// The region of the accepter VPC of the VPC Peering Connection. auto_accept must be false,
	// and use the aws_vpc_peering_connection_accepter to manage the accepter side.
	PeerRegion *string `json:"peerRegion,omitempty" tf:"peer_region,omitempty"`

	// The ID of the target VPC with which you are creating the VPC Peering Connection.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.VPC
	PeerVPCID *string `json:"peerVpcId,omitempty" tf:"peer_vpc_id,omitempty"`

	// Reference to a VPC in ec2 to populate peerVpcId.
	// +kubebuilder:validation:Optional
	PeerVPCIDRef *v1.Reference `json:"peerVpcIdRef,omitempty" tf:"-"`

	// Selector for a VPC in ec2 to populate peerVpcId.
	// +kubebuilder:validation:Optional
	PeerVPCIDSelector *v1.Selector `json:"peerVpcIdSelector,omitempty" tf:"-"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The ID of the requester VPC.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.VPC
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`

	// Reference to a VPC in ec2 to populate vpcId.
	// +kubebuilder:validation:Optional
	VPCIDRef *v1.Reference `json:"vpcIdRef,omitempty" tf:"-"`

	// Selector for a VPC in ec2 to populate vpcId.
	// +kubebuilder:validation:Optional
	VPCIDSelector *v1.Selector `json:"vpcIdSelector,omitempty" tf:"-"`
}

func (*VPCPeeringConnectionInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionInitParameters.

func (*VPCPeeringConnectionInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionList added in v1.7.0

type VPCPeeringConnectionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VPCPeeringConnection `json:"items"`
}

VPCPeeringConnectionList contains a list of VPCPeeringConnections

func (*VPCPeeringConnectionList) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionList.

func (*VPCPeeringConnectionList) DeepCopyInto added in v1.7.0

func (in *VPCPeeringConnectionList) DeepCopyInto(out *VPCPeeringConnectionList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VPCPeeringConnectionList) DeepCopyObject added in v1.7.0

func (in *VPCPeeringConnectionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VPCPeeringConnectionList) GetItems added in v1.7.0

func (l *VPCPeeringConnectionList) GetItems() []resource.Managed

GetItems of this VPCPeeringConnectionList.

type VPCPeeringConnectionObservation added in v1.7.0

type VPCPeeringConnectionObservation struct {

	// The status of the VPC Peering Connection request.
	AcceptStatus *string `json:"acceptStatus,omitempty" tf:"accept_status,omitempty"`

	// An optional configuration block that allows for VPC Peering Connection options to be set for the VPC that accepts
	// the peering connection (a maximum of one).
	Accepter *AccepterObservation `json:"accepter,omitempty" tf:"accepter,omitempty"`

	// Accept the peering (both VPCs need to be in the same AWS account and region).
	AutoAccept *bool `json:"autoAccept,omitempty" tf:"auto_accept,omitempty"`

	// The ID of the VPC Peering Connection.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The AWS account ID of the target peer VPC.
	// Defaults to the account ID the AWS provider is currently connected to, so must be managed if connecting cross-account.
	PeerOwnerID *string `json:"peerOwnerId,omitempty" tf:"peer_owner_id,omitempty"`

	// The region of the accepter VPC of the VPC Peering Connection. auto_accept must be false,
	// and use the aws_vpc_peering_connection_accepter to manage the accepter side.
	PeerRegion *string `json:"peerRegion,omitempty" tf:"peer_region,omitempty"`

	// The ID of the target VPC with which you are creating the VPC Peering Connection.
	PeerVPCID *string `json:"peerVpcId,omitempty" tf:"peer_vpc_id,omitempty"`

	// A optional configuration block that allows for VPC Peering Connection options to be set for the VPC that requests
	// the peering connection (a maximum of one).
	Requester *RequesterObservation `json:"requester,omitempty" tf:"requester,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// The ID of the requester VPC.
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`
}

func (*VPCPeeringConnectionObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionObservation.

func (*VPCPeeringConnectionObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionOptions added in v1.7.0

type VPCPeeringConnectionOptions struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              VPCPeeringConnectionOptionsSpec   `json:"spec"`
	Status            VPCPeeringConnectionOptionsStatus `json:"status,omitempty"`
}

VPCPeeringConnectionOptions is the Schema for the VPCPeeringConnectionOptionss API. Provides a resource to manage VPC peering connection options. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*VPCPeeringConnectionOptions) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionOptions.

func (*VPCPeeringConnectionOptions) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VPCPeeringConnectionOptions) DeepCopyObject added in v1.7.0

func (in *VPCPeeringConnectionOptions) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VPCPeeringConnectionOptions) GetCondition added in v1.7.0

GetCondition of this VPCPeeringConnectionOptions.

func (*VPCPeeringConnectionOptions) GetConnectionDetailsMapping added in v1.7.0

func (tr *VPCPeeringConnectionOptions) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this VPCPeeringConnectionOptions

func (*VPCPeeringConnectionOptions) GetDeletionPolicy added in v1.7.0

func (mg *VPCPeeringConnectionOptions) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this VPCPeeringConnectionOptions.

func (*VPCPeeringConnectionOptions) GetID added in v1.7.0

func (tr *VPCPeeringConnectionOptions) GetID() string

GetID returns ID of underlying Terraform resource of this VPCPeeringConnectionOptions

func (*VPCPeeringConnectionOptions) GetInitParameters added in v1.7.0

func (tr *VPCPeeringConnectionOptions) GetInitParameters() (map[string]any, error)

GetInitParameters of this VPCPeeringConnectionOptions

func (*VPCPeeringConnectionOptions) GetManagementPolicies added in v1.7.0

func (mg *VPCPeeringConnectionOptions) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this VPCPeeringConnectionOptions.

func (*VPCPeeringConnectionOptions) GetMergedParameters added in v1.7.0

func (tr *VPCPeeringConnectionOptions) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this VPCPeeringConnectionOptions

func (*VPCPeeringConnectionOptions) GetObservation added in v1.7.0

func (tr *VPCPeeringConnectionOptions) GetObservation() (map[string]any, error)

GetObservation of this VPCPeeringConnectionOptions

func (*VPCPeeringConnectionOptions) GetParameters added in v1.7.0

func (tr *VPCPeeringConnectionOptions) GetParameters() (map[string]any, error)

GetParameters of this VPCPeeringConnectionOptions

func (*VPCPeeringConnectionOptions) GetProviderConfigReference added in v1.7.0

func (mg *VPCPeeringConnectionOptions) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this VPCPeeringConnectionOptions.

func (*VPCPeeringConnectionOptions) GetPublishConnectionDetailsTo added in v1.7.0

func (mg *VPCPeeringConnectionOptions) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this VPCPeeringConnectionOptions.

func (*VPCPeeringConnectionOptions) GetTerraformResourceType added in v1.7.0

func (mg *VPCPeeringConnectionOptions) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this VPCPeeringConnectionOptions

func (*VPCPeeringConnectionOptions) GetTerraformSchemaVersion added in v1.7.0

func (tr *VPCPeeringConnectionOptions) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*VPCPeeringConnectionOptions) GetWriteConnectionSecretToReference added in v1.7.0

func (mg *VPCPeeringConnectionOptions) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this VPCPeeringConnectionOptions.

func (*VPCPeeringConnectionOptions) Hub added in v1.7.0

func (tr *VPCPeeringConnectionOptions) Hub()

Hub marks this type as a conversion hub.

func (*VPCPeeringConnectionOptions) LateInitialize added in v1.7.0

func (tr *VPCPeeringConnectionOptions) LateInitialize(attrs []byte) (bool, error)

LateInitialize this VPCPeeringConnectionOptions using its observed tfState. returns True if there are any spec changes for the resource.

func (*VPCPeeringConnectionOptions) ResolveReferences added in v1.7.0

func (mg *VPCPeeringConnectionOptions) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this VPCPeeringConnectionOptions.

func (*VPCPeeringConnectionOptions) SetConditions added in v1.7.0

func (mg *VPCPeeringConnectionOptions) SetConditions(c ...xpv1.Condition)

SetConditions of this VPCPeeringConnectionOptions.

func (*VPCPeeringConnectionOptions) SetDeletionPolicy added in v1.7.0

func (mg *VPCPeeringConnectionOptions) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this VPCPeeringConnectionOptions.

func (*VPCPeeringConnectionOptions) SetManagementPolicies added in v1.7.0

func (mg *VPCPeeringConnectionOptions) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this VPCPeeringConnectionOptions.

func (*VPCPeeringConnectionOptions) SetObservation added in v1.7.0

func (tr *VPCPeeringConnectionOptions) SetObservation(obs map[string]any) error

SetObservation for this VPCPeeringConnectionOptions

func (*VPCPeeringConnectionOptions) SetParameters added in v1.7.0

func (tr *VPCPeeringConnectionOptions) SetParameters(params map[string]any) error

SetParameters for this VPCPeeringConnectionOptions

func (*VPCPeeringConnectionOptions) SetProviderConfigReference added in v1.7.0

func (mg *VPCPeeringConnectionOptions) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this VPCPeeringConnectionOptions.

func (*VPCPeeringConnectionOptions) SetPublishConnectionDetailsTo added in v1.7.0

func (mg *VPCPeeringConnectionOptions) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this VPCPeeringConnectionOptions.

func (*VPCPeeringConnectionOptions) SetWriteConnectionSecretToReference added in v1.7.0

func (mg *VPCPeeringConnectionOptions) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this VPCPeeringConnectionOptions.

type VPCPeeringConnectionOptionsAccepterInitParameters added in v1.7.0

type VPCPeeringConnectionOptionsAccepterInitParameters struct {

	// Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.
	AllowRemoteVPCDNSResolution *bool `json:"allowRemoteVpcDnsResolution,omitempty" tf:"allow_remote_vpc_dns_resolution,omitempty"`
}

func (*VPCPeeringConnectionOptionsAccepterInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionOptionsAccepterInitParameters.

func (*VPCPeeringConnectionOptionsAccepterInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionOptionsAccepterObservation added in v1.7.0

type VPCPeeringConnectionOptionsAccepterObservation struct {

	// Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.
	AllowRemoteVPCDNSResolution *bool `json:"allowRemoteVpcDnsResolution,omitempty" tf:"allow_remote_vpc_dns_resolution,omitempty"`
}

func (*VPCPeeringConnectionOptionsAccepterObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionOptionsAccepterObservation.

func (*VPCPeeringConnectionOptionsAccepterObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionOptionsAccepterParameters added in v1.7.0

type VPCPeeringConnectionOptionsAccepterParameters struct {

	// Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.
	// +kubebuilder:validation:Optional
	AllowRemoteVPCDNSResolution *bool `json:"allowRemoteVpcDnsResolution,omitempty" tf:"allow_remote_vpc_dns_resolution,omitempty"`
}

func (*VPCPeeringConnectionOptionsAccepterParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionOptionsAccepterParameters.

func (*VPCPeeringConnectionOptionsAccepterParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionOptionsInitParameters added in v1.7.0

type VPCPeeringConnectionOptionsInitParameters struct {

	// An optional configuration block that allows for VPC Peering Connection options to be set for the VPC that acceptsthe peering connection (a maximum of one).
	Accepter *VPCPeeringConnectionOptionsAccepterInitParameters `json:"accepter,omitempty" tf:"accepter,omitempty"`

	// A optional configuration block that allows for VPC Peering Connection options to be set for the VPC that requeststhe peering connection (a maximum of one).
	Requester *VPCPeeringConnectionOptionsRequesterInitParameters `json:"requester,omitempty" tf:"requester,omitempty"`

	// The ID of the requester VPC peering connection.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.VPCPeeringConnection
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	VPCPeeringConnectionID *string `json:"vpcPeeringConnectionId,omitempty" tf:"vpc_peering_connection_id,omitempty"`

	// Reference to a VPCPeeringConnection in ec2 to populate vpcPeeringConnectionId.
	// +kubebuilder:validation:Optional
	VPCPeeringConnectionIDRef *v1.Reference `json:"vpcPeeringConnectionIdRef,omitempty" tf:"-"`

	// Selector for a VPCPeeringConnection in ec2 to populate vpcPeeringConnectionId.
	// +kubebuilder:validation:Optional
	VPCPeeringConnectionIDSelector *v1.Selector `json:"vpcPeeringConnectionIdSelector,omitempty" tf:"-"`
}

func (*VPCPeeringConnectionOptionsInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionOptionsInitParameters.

func (*VPCPeeringConnectionOptionsInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionOptionsList added in v1.7.0

type VPCPeeringConnectionOptionsList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VPCPeeringConnectionOptions `json:"items"`
}

VPCPeeringConnectionOptionsList contains a list of VPCPeeringConnectionOptionss

func (*VPCPeeringConnectionOptionsList) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionOptionsList.

func (*VPCPeeringConnectionOptionsList) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VPCPeeringConnectionOptionsList) DeepCopyObject added in v1.7.0

func (in *VPCPeeringConnectionOptionsList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VPCPeeringConnectionOptionsList) GetItems added in v1.7.0

GetItems of this VPCPeeringConnectionOptionsList.

type VPCPeeringConnectionOptionsObservation added in v1.7.0

type VPCPeeringConnectionOptionsObservation struct {

	// An optional configuration block that allows for VPC Peering Connection options to be set for the VPC that acceptsthe peering connection (a maximum of one).
	Accepter *VPCPeeringConnectionOptionsAccepterObservation `json:"accepter,omitempty" tf:"accepter,omitempty"`

	// The ID of the VPC Peering Connection Options.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// A optional configuration block that allows for VPC Peering Connection options to be set for the VPC that requeststhe peering connection (a maximum of one).
	Requester *VPCPeeringConnectionOptionsRequesterObservation `json:"requester,omitempty" tf:"requester,omitempty"`

	// The ID of the requester VPC peering connection.
	VPCPeeringConnectionID *string `json:"vpcPeeringConnectionId,omitempty" tf:"vpc_peering_connection_id,omitempty"`
}

func (*VPCPeeringConnectionOptionsObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionOptionsObservation.

func (*VPCPeeringConnectionOptionsObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionOptionsParameters added in v1.7.0

type VPCPeeringConnectionOptionsParameters struct {

	// An optional configuration block that allows for VPC Peering Connection options to be set for the VPC that acceptsthe peering connection (a maximum of one).
	// +kubebuilder:validation:Optional
	Accepter *VPCPeeringConnectionOptionsAccepterParameters `json:"accepter,omitempty" tf:"accepter,omitempty"`

	// Region is the region you'd like your resource to be created in.
	// +upjet:crd:field:TFTag=-
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"-"`

	// A optional configuration block that allows for VPC Peering Connection options to be set for the VPC that requeststhe peering connection (a maximum of one).
	// +kubebuilder:validation:Optional
	Requester *VPCPeeringConnectionOptionsRequesterParameters `json:"requester,omitempty" tf:"requester,omitempty"`

	// The ID of the requester VPC peering connection.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.VPCPeeringConnection
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	VPCPeeringConnectionID *string `json:"vpcPeeringConnectionId,omitempty" tf:"vpc_peering_connection_id,omitempty"`

	// Reference to a VPCPeeringConnection in ec2 to populate vpcPeeringConnectionId.
	// +kubebuilder:validation:Optional
	VPCPeeringConnectionIDRef *v1.Reference `json:"vpcPeeringConnectionIdRef,omitempty" tf:"-"`

	// Selector for a VPCPeeringConnection in ec2 to populate vpcPeeringConnectionId.
	// +kubebuilder:validation:Optional
	VPCPeeringConnectionIDSelector *v1.Selector `json:"vpcPeeringConnectionIdSelector,omitempty" tf:"-"`
}

func (*VPCPeeringConnectionOptionsParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionOptionsParameters.

func (*VPCPeeringConnectionOptionsParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionOptionsRequesterInitParameters added in v1.7.0

type VPCPeeringConnectionOptionsRequesterInitParameters struct {

	// Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.
	AllowRemoteVPCDNSResolution *bool `json:"allowRemoteVpcDnsResolution,omitempty" tf:"allow_remote_vpc_dns_resolution,omitempty"`
}

func (*VPCPeeringConnectionOptionsRequesterInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionOptionsRequesterInitParameters.

func (*VPCPeeringConnectionOptionsRequesterInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionOptionsRequesterObservation added in v1.7.0

type VPCPeeringConnectionOptionsRequesterObservation struct {

	// Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.
	AllowRemoteVPCDNSResolution *bool `json:"allowRemoteVpcDnsResolution,omitempty" tf:"allow_remote_vpc_dns_resolution,omitempty"`
}

func (*VPCPeeringConnectionOptionsRequesterObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionOptionsRequesterObservation.

func (*VPCPeeringConnectionOptionsRequesterObservation) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionOptionsRequesterParameters added in v1.7.0

type VPCPeeringConnectionOptionsRequesterParameters struct {

	// Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.
	// +kubebuilder:validation:Optional
	AllowRemoteVPCDNSResolution *bool `json:"allowRemoteVpcDnsResolution,omitempty" tf:"allow_remote_vpc_dns_resolution,omitempty"`
}

func (*VPCPeeringConnectionOptionsRequesterParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionOptionsRequesterParameters.

func (*VPCPeeringConnectionOptionsRequesterParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionOptionsSpec added in v1.7.0

type VPCPeeringConnectionOptionsSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     VPCPeeringConnectionOptionsParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider VPCPeeringConnectionOptionsInitParameters `json:"initProvider,omitempty"`
}

VPCPeeringConnectionOptionsSpec defines the desired state of VPCPeeringConnectionOptions

func (*VPCPeeringConnectionOptionsSpec) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionOptionsSpec.

func (*VPCPeeringConnectionOptionsSpec) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionOptionsStatus added in v1.7.0

type VPCPeeringConnectionOptionsStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        VPCPeeringConnectionOptionsObservation `json:"atProvider,omitempty"`
}

VPCPeeringConnectionOptionsStatus defines the observed state of VPCPeeringConnectionOptions.

func (*VPCPeeringConnectionOptionsStatus) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionOptionsStatus.

func (*VPCPeeringConnectionOptionsStatus) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionParameters added in v1.7.0

type VPCPeeringConnectionParameters struct {

	// Accept the peering (both VPCs need to be in the same AWS account and region).
	// +kubebuilder:validation:Optional
	AutoAccept *bool `json:"autoAccept,omitempty" tf:"auto_accept,omitempty"`

	// The AWS account ID of the target peer VPC.
	// Defaults to the account ID the AWS provider is currently connected to, so must be managed if connecting cross-account.
	// +kubebuilder:validation:Optional
	PeerOwnerID *string `json:"peerOwnerId,omitempty" tf:"peer_owner_id,omitempty"`

	// The region of the accepter VPC of the VPC Peering Connection. auto_accept must be false,
	// and use the aws_vpc_peering_connection_accepter to manage the accepter side.
	// +kubebuilder:validation:Optional
	PeerRegion *string `json:"peerRegion,omitempty" tf:"peer_region,omitempty"`

	// The ID of the target VPC with which you are creating the VPC Peering Connection.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.VPC
	// +kubebuilder:validation:Optional
	PeerVPCID *string `json:"peerVpcId,omitempty" tf:"peer_vpc_id,omitempty"`

	// Reference to a VPC in ec2 to populate peerVpcId.
	// +kubebuilder:validation:Optional
	PeerVPCIDRef *v1.Reference `json:"peerVpcIdRef,omitempty" tf:"-"`

	// Selector for a VPC in ec2 to populate peerVpcId.
	// +kubebuilder:validation:Optional
	PeerVPCIDSelector *v1.Selector `json:"peerVpcIdSelector,omitempty" tf:"-"`

	// Region is the region you'd like your resource to be created in.
	// +upjet:crd:field:TFTag=-
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"-"`

	// Key-value map of resource tags.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The ID of the requester VPC.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.VPC
	// +kubebuilder:validation:Optional
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`

	// Reference to a VPC in ec2 to populate vpcId.
	// +kubebuilder:validation:Optional
	VPCIDRef *v1.Reference `json:"vpcIdRef,omitempty" tf:"-"`

	// Selector for a VPC in ec2 to populate vpcId.
	// +kubebuilder:validation:Optional
	VPCIDSelector *v1.Selector `json:"vpcIdSelector,omitempty" tf:"-"`
}

func (*VPCPeeringConnectionParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionParameters.

func (*VPCPeeringConnectionParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionSpec added in v1.7.0

type VPCPeeringConnectionSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     VPCPeeringConnectionParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider VPCPeeringConnectionInitParameters `json:"initProvider,omitempty"`
}

VPCPeeringConnectionSpec defines the desired state of VPCPeeringConnection

func (*VPCPeeringConnectionSpec) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionSpec.

func (*VPCPeeringConnectionSpec) DeepCopyInto added in v1.7.0

func (in *VPCPeeringConnectionSpec) DeepCopyInto(out *VPCPeeringConnectionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCPeeringConnectionStatus added in v1.7.0

type VPCPeeringConnectionStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        VPCPeeringConnectionObservation `json:"atProvider,omitempty"`
}

VPCPeeringConnectionStatus defines the observed state of VPCPeeringConnection.

func (*VPCPeeringConnectionStatus) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCPeeringConnectionStatus.

func (*VPCPeeringConnectionStatus) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPNConnection added in v1.7.0

type VPNConnection struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              VPNConnectionSpec   `json:"spec"`
	Status            VPNConnectionStatus `json:"status,omitempty"`
}

VPNConnection is the Schema for the VPNConnections API. Manages a Site-to-Site VPN connection. A Site-to-Site VPN connection is an Internet Protocol security (IPsec) VPN connection between a VPC and an on-premises network. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*VPNConnection) DeepCopy added in v1.7.0

func (in *VPNConnection) DeepCopy() *VPNConnection

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNConnection.

func (*VPNConnection) DeepCopyInto added in v1.7.0

func (in *VPNConnection) DeepCopyInto(out *VPNConnection)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VPNConnection) DeepCopyObject added in v1.7.0

func (in *VPNConnection) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VPNConnection) GetCondition added in v1.7.0

func (mg *VPNConnection) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this VPNConnection.

func (*VPNConnection) GetConnectionDetailsMapping added in v1.7.0

func (tr *VPNConnection) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this VPNConnection

func (*VPNConnection) GetDeletionPolicy added in v1.7.0

func (mg *VPNConnection) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this VPNConnection.

func (*VPNConnection) GetID added in v1.7.0

func (tr *VPNConnection) GetID() string

GetID returns ID of underlying Terraform resource of this VPNConnection

func (*VPNConnection) GetInitParameters added in v1.7.0

func (tr *VPNConnection) GetInitParameters() (map[string]any, error)

GetInitParameters of this VPNConnection

func (*VPNConnection) GetManagementPolicies added in v1.7.0

func (mg *VPNConnection) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this VPNConnection.

func (*VPNConnection) GetMergedParameters added in v1.7.0

func (tr *VPNConnection) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this VPNConnection

func (*VPNConnection) GetObservation added in v1.7.0

func (tr *VPNConnection) GetObservation() (map[string]any, error)

GetObservation of this VPNConnection

func (*VPNConnection) GetParameters added in v1.7.0

func (tr *VPNConnection) GetParameters() (map[string]any, error)

GetParameters of this VPNConnection

func (*VPNConnection) GetProviderConfigReference added in v1.7.0

func (mg *VPNConnection) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this VPNConnection.

func (*VPNConnection) GetPublishConnectionDetailsTo added in v1.7.0

func (mg *VPNConnection) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this VPNConnection.

func (*VPNConnection) GetTerraformResourceType added in v1.7.0

func (mg *VPNConnection) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this VPNConnection

func (*VPNConnection) GetTerraformSchemaVersion added in v1.7.0

func (tr *VPNConnection) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*VPNConnection) GetWriteConnectionSecretToReference added in v1.7.0

func (mg *VPNConnection) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this VPNConnection.

func (*VPNConnection) Hub added in v1.7.0

func (tr *VPNConnection) Hub()

Hub marks this type as a conversion hub.

func (*VPNConnection) LateInitialize added in v1.7.0

func (tr *VPNConnection) LateInitialize(attrs []byte) (bool, error)

LateInitialize this VPNConnection using its observed tfState. returns True if there are any spec changes for the resource.

func (*VPNConnection) ResolveReferences added in v1.7.0

func (mg *VPNConnection) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this VPNConnection.

func (*VPNConnection) SetConditions added in v1.7.0

func (mg *VPNConnection) SetConditions(c ...xpv1.Condition)

SetConditions of this VPNConnection.

func (*VPNConnection) SetDeletionPolicy added in v1.7.0

func (mg *VPNConnection) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this VPNConnection.

func (*VPNConnection) SetManagementPolicies added in v1.7.0

func (mg *VPNConnection) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this VPNConnection.

func (*VPNConnection) SetObservation added in v1.7.0

func (tr *VPNConnection) SetObservation(obs map[string]any) error

SetObservation for this VPNConnection

func (*VPNConnection) SetParameters added in v1.7.0

func (tr *VPNConnection) SetParameters(params map[string]any) error

SetParameters for this VPNConnection

func (*VPNConnection) SetProviderConfigReference added in v1.7.0

func (mg *VPNConnection) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this VPNConnection.

func (*VPNConnection) SetPublishConnectionDetailsTo added in v1.7.0

func (mg *VPNConnection) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this VPNConnection.

func (*VPNConnection) SetWriteConnectionSecretToReference added in v1.7.0

func (mg *VPNConnection) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this VPNConnection.

type VPNConnectionInitParameters added in v1.7.0

type VPNConnectionInitParameters struct {

	// The ID of the customer gateway.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.CustomerGateway
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	CustomerGatewayID *string `json:"customerGatewayId,omitempty" tf:"customer_gateway_id,omitempty"`

	// Reference to a CustomerGateway in ec2 to populate customerGatewayId.
	// +kubebuilder:validation:Optional
	CustomerGatewayIDRef *v1.Reference `json:"customerGatewayIdRef,omitempty" tf:"-"`

	// Selector for a CustomerGateway in ec2 to populate customerGatewayId.
	// +kubebuilder:validation:Optional
	CustomerGatewayIDSelector *v1.Selector `json:"customerGatewayIdSelector,omitempty" tf:"-"`

	// Indicate whether to enable acceleration for the VPN connection. Supports only EC2 Transit Gateway.
	EnableAcceleration *bool `json:"enableAcceleration,omitempty" tf:"enable_acceleration,omitempty"`

	// The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.
	LocalIPv4NetworkCidr *string `json:"localIpv4NetworkCidr,omitempty" tf:"local_ipv4_network_cidr,omitempty"`

	// The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.
	LocalIPv6NetworkCidr *string `json:"localIpv6NetworkCidr,omitempty" tf:"local_ipv6_network_cidr,omitempty"`

	// Indicates if a Public S2S VPN or Private S2S VPN over AWS Direct Connect. Valid values are PublicIpv4 | PrivateIpv4
	OutsideIPAddressType *string `json:"outsideIpAddressType,omitempty" tf:"outside_ip_address_type,omitempty"`

	// The IPv4 CIDR on the AWS side of the VPN connection.
	RemoteIPv4NetworkCidr *string `json:"remoteIpv4NetworkCidr,omitempty" tf:"remote_ipv4_network_cidr,omitempty"`

	// The IPv6 CIDR on the AWS side of the VPN connection.
	RemoteIPv6NetworkCidr *string `json:"remoteIpv6NetworkCidr,omitempty" tf:"remote_ipv6_network_cidr,omitempty"`

	// Whether the VPN connection uses static routes exclusively. Static routes must be used for devices that don't support BGP.
	StaticRoutesOnly *bool `json:"staticRoutesOnly,omitempty" tf:"static_routes_only,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The ID of the EC2 Transit Gateway.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.TransitGateway
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	TransitGatewayID *string `json:"transitGatewayId,omitempty" tf:"transit_gateway_id,omitempty"`

	// Reference to a TransitGateway in ec2 to populate transitGatewayId.
	// +kubebuilder:validation:Optional
	TransitGatewayIDRef *v1.Reference `json:"transitGatewayIdRef,omitempty" tf:"-"`

	// Selector for a TransitGateway in ec2 to populate transitGatewayId.
	// +kubebuilder:validation:Optional
	TransitGatewayIDSelector *v1.Selector `json:"transitGatewayIdSelector,omitempty" tf:"-"`

	// . The attachment ID of the Transit Gateway attachment to Direct Connect Gateway. The ID is obtained through a data source only.
	TransportTransitGatewayAttachmentID *string `json:"transportTransitGatewayAttachmentId,omitempty" tf:"transport_transit_gateway_attachment_id,omitempty"`

	// The action to take after DPD timeout occurs for the first VPN tunnel. Specify restart to restart the IKE initiation. Specify clear to end the IKE session. Valid values are clear | none | restart.
	Tunnel1DpdTimeoutAction *string `json:"tunnel1DpdTimeoutAction,omitempty" tf:"tunnel1_dpd_timeout_action,omitempty"`

	// The number of seconds after which a DPD timeout occurs for the first VPN tunnel. Valid value is equal or higher than 30.
	Tunnel1DpdTimeoutSeconds *float64 `json:"tunnel1DpdTimeoutSeconds,omitempty" tf:"tunnel1_dpd_timeout_seconds,omitempty"`

	// Turn on or off tunnel endpoint lifecycle control feature for the first VPN tunnel. Valid values are true | false.
	Tunnel1EnableTunnelLifecycleControl *bool `json:"tunnel1EnableTunnelLifecycleControl,omitempty" tf:"tunnel1_enable_tunnel_lifecycle_control,omitempty"`

	// The IKE versions that are permitted for the first VPN tunnel. Valid values are ikev1 | ikev2.
	// +listType=set
	Tunnel1IkeVersions []*string `json:"tunnel1IkeVersions,omitempty" tf:"tunnel1_ike_versions,omitempty"`

	// The CIDR block of the inside IP addresses for the first VPN tunnel. Valid value is a size /30 CIDR block from the 169.254.0.0/16 range.
	Tunnel1InsideCidr *string `json:"tunnel1InsideCidr,omitempty" tf:"tunnel1_inside_cidr,omitempty"`

	// The range of inside IPv6 addresses for the first VPN tunnel. Supports only EC2 Transit Gateway. Valid value is a size /126 CIDR block from the local fd00::/8 range.
	Tunnel1InsideIPv6Cidr *string `json:"tunnel1InsideIpv6Cidr,omitempty" tf:"tunnel1_inside_ipv6_cidr,omitempty"`

	// Options for logging VPN tunnel activity. See Log Options below for more details.
	Tunnel1LogOptions *Tunnel1LogOptionsInitParameters `json:"tunnel1LogOptions,omitempty" tf:"tunnel1_log_options,omitempty"`

	// List of one or more Diffie-Hellman group numbers that are permitted for the first VPN tunnel for phase 1 IKE negotiations. Valid values are  2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24.
	// +listType=set
	Tunnel1Phase1DhGroupNumbers []*float64 `json:"tunnel1Phase1DhGroupNumbers,omitempty" tf:"tunnel1_phase1_dh_group_numbers,omitempty"`

	// List of one or more encryption algorithms that are permitted for the first VPN tunnel for phase 1 IKE negotiations. Valid values are AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16.
	// +listType=set
	Tunnel1Phase1EncryptionAlgorithms []*string `json:"tunnel1Phase1EncryptionAlgorithms,omitempty" tf:"tunnel1_phase1_encryption_algorithms,omitempty"`

	// One or more integrity algorithms that are permitted for the first VPN tunnel for phase 1 IKE negotiations. Valid values are SHA1 | SHA2-256 | SHA2-384 | SHA2-512.
	// +listType=set
	Tunnel1Phase1IntegrityAlgorithms []*string `json:"tunnel1Phase1IntegrityAlgorithms,omitempty" tf:"tunnel1_phase1_integrity_algorithms,omitempty"`

	// The lifetime for phase 1 of the IKE negotiation for the first VPN tunnel, in seconds. Valid value is between 900 and 28800.
	Tunnel1Phase1LifetimeSeconds *float64 `json:"tunnel1Phase1LifetimeSeconds,omitempty" tf:"tunnel1_phase1_lifetime_seconds,omitempty"`

	// List of one or more Diffie-Hellman group numbers that are permitted for the first VPN tunnel for phase 2 IKE negotiations. Valid values are 2 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24.
	// +listType=set
	Tunnel1Phase2DhGroupNumbers []*float64 `json:"tunnel1Phase2DhGroupNumbers,omitempty" tf:"tunnel1_phase2_dh_group_numbers,omitempty"`

	// List of one or more encryption algorithms that are permitted for the first VPN tunnel for phase 2 IKE negotiations. Valid values are AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16.
	// +listType=set
	Tunnel1Phase2EncryptionAlgorithms []*string `json:"tunnel1Phase2EncryptionAlgorithms,omitempty" tf:"tunnel1_phase2_encryption_algorithms,omitempty"`

	// List of one or more integrity algorithms that are permitted for the first VPN tunnel for phase 2 IKE negotiations. Valid values are SHA1 | SHA2-256 | SHA2-384 | SHA2-512.
	// +listType=set
	Tunnel1Phase2IntegrityAlgorithms []*string `json:"tunnel1Phase2IntegrityAlgorithms,omitempty" tf:"tunnel1_phase2_integrity_algorithms,omitempty"`

	// The lifetime for phase 2 of the IKE negotiation for the first VPN tunnel, in seconds. Valid value is between 900 and 3600.
	Tunnel1Phase2LifetimeSeconds *float64 `json:"tunnel1Phase2LifetimeSeconds,omitempty" tf:"tunnel1_phase2_lifetime_seconds,omitempty"`

	// The preshared key of the first VPN tunnel. The preshared key must be between 8 and 64 characters in length and cannot start with zero(0). Allowed characters are alphanumeric characters, periods(.) and underscores(_).
	Tunnel1PresharedKeySecretRef *v1.SecretKeySelector `json:"tunnel1PresharedKeySecretRef,omitempty" tf:"-"`

	// The percentage of the rekey window for the first VPN tunnel (determined by tunnel1_rekey_margin_time_seconds) during which the rekey time is randomly selected. Valid value is between 0 and 100.
	Tunnel1RekeyFuzzPercentage *float64 `json:"tunnel1RekeyFuzzPercentage,omitempty" tf:"tunnel1_rekey_fuzz_percentage,omitempty"`

	// The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the first VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for tunnel1_rekey_fuzz_percentage. Valid value is between 60 and half of tunnel1_phase2_lifetime_seconds.
	Tunnel1RekeyMarginTimeSeconds *float64 `json:"tunnel1RekeyMarginTimeSeconds,omitempty" tf:"tunnel1_rekey_margin_time_seconds,omitempty"`

	// The number of packets in an IKE replay window for the first VPN tunnel. Valid value is between 64 and 2048.
	Tunnel1ReplayWindowSize *float64 `json:"tunnel1ReplayWindowSize,omitempty" tf:"tunnel1_replay_window_size,omitempty"`

	// The action to take when the establishing the tunnel for the first VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify start for AWS to initiate the IKE negotiation. Valid values are add | start.
	Tunnel1StartupAction *string `json:"tunnel1StartupAction,omitempty" tf:"tunnel1_startup_action,omitempty"`

	// The action to take after DPD timeout occurs for the second VPN tunnel. Specify restart to restart the IKE initiation. Specify clear to end the IKE session. Valid values are clear | none | restart.
	Tunnel2DpdTimeoutAction *string `json:"tunnel2DpdTimeoutAction,omitempty" tf:"tunnel2_dpd_timeout_action,omitempty"`

	// The number of seconds after which a DPD timeout occurs for the second VPN tunnel. Valid value is equal or higher than 30.
	Tunnel2DpdTimeoutSeconds *float64 `json:"tunnel2DpdTimeoutSeconds,omitempty" tf:"tunnel2_dpd_timeout_seconds,omitempty"`

	// Turn on or off tunnel endpoint lifecycle control feature for the second VPN tunnel. Valid values are true | false.
	Tunnel2EnableTunnelLifecycleControl *bool `json:"tunnel2EnableTunnelLifecycleControl,omitempty" tf:"tunnel2_enable_tunnel_lifecycle_control,omitempty"`

	// The IKE versions that are permitted for the second VPN tunnel. Valid values are ikev1 | ikev2.
	// +listType=set
	Tunnel2IkeVersions []*string `json:"tunnel2IkeVersions,omitempty" tf:"tunnel2_ike_versions,omitempty"`

	// The CIDR block of the inside IP addresses for the second VPN tunnel. Valid value is a size /30 CIDR block from the 169.254.0.0/16 range.
	Tunnel2InsideCidr *string `json:"tunnel2InsideCidr,omitempty" tf:"tunnel2_inside_cidr,omitempty"`

	// The range of inside IPv6 addresses for the second VPN tunnel. Supports only EC2 Transit Gateway. Valid value is a size /126 CIDR block from the local fd00::/8 range.
	Tunnel2InsideIPv6Cidr *string `json:"tunnel2InsideIpv6Cidr,omitempty" tf:"tunnel2_inside_ipv6_cidr,omitempty"`

	// Options for logging VPN tunnel activity. See Log Options below for more details.
	Tunnel2LogOptions *Tunnel2LogOptionsInitParameters `json:"tunnel2LogOptions,omitempty" tf:"tunnel2_log_options,omitempty"`

	// List of one or more Diffie-Hellman group numbers that are permitted for the second VPN tunnel for phase 1 IKE negotiations. Valid values are  2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24.
	// +listType=set
	Tunnel2Phase1DhGroupNumbers []*float64 `json:"tunnel2Phase1DhGroupNumbers,omitempty" tf:"tunnel2_phase1_dh_group_numbers,omitempty"`

	// List of one or more encryption algorithms that are permitted for the second VPN tunnel for phase 1 IKE negotiations. Valid values are AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16.
	// +listType=set
	Tunnel2Phase1EncryptionAlgorithms []*string `json:"tunnel2Phase1EncryptionAlgorithms,omitempty" tf:"tunnel2_phase1_encryption_algorithms,omitempty"`

	// One or more integrity algorithms that are permitted for the second VPN tunnel for phase 1 IKE negotiations. Valid values are SHA1 | SHA2-256 | SHA2-384 | SHA2-512.
	// +listType=set
	Tunnel2Phase1IntegrityAlgorithms []*string `json:"tunnel2Phase1IntegrityAlgorithms,omitempty" tf:"tunnel2_phase1_integrity_algorithms,omitempty"`

	// The lifetime for phase 1 of the IKE negotiation for the second VPN tunnel, in seconds. Valid value is between 900 and 28800.
	Tunnel2Phase1LifetimeSeconds *float64 `json:"tunnel2Phase1LifetimeSeconds,omitempty" tf:"tunnel2_phase1_lifetime_seconds,omitempty"`

	// List of one or more Diffie-Hellman group numbers that are permitted for the second VPN tunnel for phase 2 IKE negotiations. Valid values are 2 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24.
	// +listType=set
	Tunnel2Phase2DhGroupNumbers []*float64 `json:"tunnel2Phase2DhGroupNumbers,omitempty" tf:"tunnel2_phase2_dh_group_numbers,omitempty"`

	// List of one or more encryption algorithms that are permitted for the second VPN tunnel for phase 2 IKE negotiations. Valid values are AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16.
	// +listType=set
	Tunnel2Phase2EncryptionAlgorithms []*string `json:"tunnel2Phase2EncryptionAlgorithms,omitempty" tf:"tunnel2_phase2_encryption_algorithms,omitempty"`

	// List of one or more integrity algorithms that are permitted for the second VPN tunnel for phase 2 IKE negotiations. Valid values are SHA1 | SHA2-256 | SHA2-384 | SHA2-512.
	// +listType=set
	Tunnel2Phase2IntegrityAlgorithms []*string `json:"tunnel2Phase2IntegrityAlgorithms,omitempty" tf:"tunnel2_phase2_integrity_algorithms,omitempty"`

	// The lifetime for phase 2 of the IKE negotiation for the second VPN tunnel, in seconds. Valid value is between 900 and 3600.
	Tunnel2Phase2LifetimeSeconds *float64 `json:"tunnel2Phase2LifetimeSeconds,omitempty" tf:"tunnel2_phase2_lifetime_seconds,omitempty"`

	// The preshared key of the second VPN tunnel. The preshared key must be between 8 and 64 characters in length and cannot start with zero(0). Allowed characters are alphanumeric characters, periods(.) and underscores(_).
	Tunnel2PresharedKeySecretRef *v1.SecretKeySelector `json:"tunnel2PresharedKeySecretRef,omitempty" tf:"-"`

	// The percentage of the rekey window for the second VPN tunnel (determined by tunnel2_rekey_margin_time_seconds) during which the rekey time is randomly selected. Valid value is between 0 and 100.
	Tunnel2RekeyFuzzPercentage *float64 `json:"tunnel2RekeyFuzzPercentage,omitempty" tf:"tunnel2_rekey_fuzz_percentage,omitempty"`

	// The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the second VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for tunnel2_rekey_fuzz_percentage. Valid value is between 60 and half of tunnel2_phase2_lifetime_seconds.
	Tunnel2RekeyMarginTimeSeconds *float64 `json:"tunnel2RekeyMarginTimeSeconds,omitempty" tf:"tunnel2_rekey_margin_time_seconds,omitempty"`

	// The number of packets in an IKE replay window for the second VPN tunnel. Valid value is between 64 and 2048.
	Tunnel2ReplayWindowSize *float64 `json:"tunnel2ReplayWindowSize,omitempty" tf:"tunnel2_replay_window_size,omitempty"`

	// The action to take when the establishing the tunnel for the second VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify start for AWS to initiate the IKE negotiation. Valid values are add | start.
	Tunnel2StartupAction *string `json:"tunnel2StartupAction,omitempty" tf:"tunnel2_startup_action,omitempty"`

	// Indicate whether the VPN tunnels process IPv4 or IPv6 traffic. Valid values are ipv4 | ipv6. ipv6 Supports only EC2 Transit Gateway.
	TunnelInsideIPVersion *string `json:"tunnelInsideIpVersion,omitempty" tf:"tunnel_inside_ip_version,omitempty"`

	// The type of VPN connection. The only type AWS supports at this time is "ipsec.1".
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.CustomerGateway
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("type",false)
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Reference to a CustomerGateway in ec2 to populate type.
	// +kubebuilder:validation:Optional
	TypeRef *v1.Reference `json:"typeRef,omitempty" tf:"-"`

	// Selector for a CustomerGateway in ec2 to populate type.
	// +kubebuilder:validation:Optional
	TypeSelector *v1.Selector `json:"typeSelector,omitempty" tf:"-"`

	// The ID of the Virtual Private Gateway.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.VPNGateway
	VPNGatewayID *string `json:"vpnGatewayId,omitempty" tf:"vpn_gateway_id,omitempty"`

	// Reference to a VPNGateway in ec2 to populate vpnGatewayId.
	// +kubebuilder:validation:Optional
	VPNGatewayIDRef *v1.Reference `json:"vpnGatewayIdRef,omitempty" tf:"-"`

	// Selector for a VPNGateway in ec2 to populate vpnGatewayId.
	// +kubebuilder:validation:Optional
	VPNGatewayIDSelector *v1.Selector `json:"vpnGatewayIdSelector,omitempty" tf:"-"`
}

func (*VPNConnectionInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNConnectionInitParameters.

func (*VPNConnectionInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPNConnectionList added in v1.7.0

type VPNConnectionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VPNConnection `json:"items"`
}

VPNConnectionList contains a list of VPNConnections

func (*VPNConnectionList) DeepCopy added in v1.7.0

func (in *VPNConnectionList) DeepCopy() *VPNConnectionList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNConnectionList.

func (*VPNConnectionList) DeepCopyInto added in v1.7.0

func (in *VPNConnectionList) DeepCopyInto(out *VPNConnectionList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VPNConnectionList) DeepCopyObject added in v1.7.0

func (in *VPNConnectionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VPNConnectionList) GetItems added in v1.7.0

func (l *VPNConnectionList) GetItems() []resource.Managed

GetItems of this VPNConnectionList.

type VPNConnectionObservation added in v1.7.0

type VPNConnectionObservation struct {

	// Amazon Resource Name (ARN) of the VPN Connection.
	Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`

	// The ARN of the core network.
	CoreNetworkArn *string `json:"coreNetworkArn,omitempty" tf:"core_network_arn,omitempty"`

	// The ARN of the core network attachment.
	CoreNetworkAttachmentArn *string `json:"coreNetworkAttachmentArn,omitempty" tf:"core_network_attachment_arn,omitempty"`

	// The ID of the customer gateway.
	CustomerGatewayID *string `json:"customerGatewayId,omitempty" tf:"customer_gateway_id,omitempty"`

	// Indicate whether to enable acceleration for the VPN connection. Supports only EC2 Transit Gateway.
	EnableAcceleration *bool `json:"enableAcceleration,omitempty" tf:"enable_acceleration,omitempty"`

	// The amazon-assigned ID of the VPN connection.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.
	LocalIPv4NetworkCidr *string `json:"localIpv4NetworkCidr,omitempty" tf:"local_ipv4_network_cidr,omitempty"`

	// The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.
	LocalIPv6NetworkCidr *string `json:"localIpv6NetworkCidr,omitempty" tf:"local_ipv6_network_cidr,omitempty"`

	// Indicates if a Public S2S VPN or Private S2S VPN over AWS Direct Connect. Valid values are PublicIpv4 | PrivateIpv4
	OutsideIPAddressType *string `json:"outsideIpAddressType,omitempty" tf:"outside_ip_address_type,omitempty"`

	// The IPv4 CIDR on the AWS side of the VPN connection.
	RemoteIPv4NetworkCidr *string `json:"remoteIpv4NetworkCidr,omitempty" tf:"remote_ipv4_network_cidr,omitempty"`

	// The IPv6 CIDR on the AWS side of the VPN connection.
	RemoteIPv6NetworkCidr *string `json:"remoteIpv6NetworkCidr,omitempty" tf:"remote_ipv6_network_cidr,omitempty"`

	// The static routes associated with the VPN connection. Detailed below.
	Routes []RoutesObservation `json:"routes,omitempty" tf:"routes,omitempty"`

	// Whether the VPN connection uses static routes exclusively. Static routes must be used for devices that don't support BGP.
	StaticRoutesOnly *bool `json:"staticRoutesOnly,omitempty" tf:"static_routes_only,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// When associated with an EC2 Transit Gateway (transit_gateway_id argument), the attachment ID. See also the aws_ec2_tag resource for tagging the EC2 Transit Gateway VPN Attachment.
	TransitGatewayAttachmentID *string `json:"transitGatewayAttachmentId,omitempty" tf:"transit_gateway_attachment_id,omitempty"`

	// The ID of the EC2 Transit Gateway.
	TransitGatewayID *string `json:"transitGatewayId,omitempty" tf:"transit_gateway_id,omitempty"`

	// . The attachment ID of the Transit Gateway attachment to Direct Connect Gateway. The ID is obtained through a data source only.
	TransportTransitGatewayAttachmentID *string `json:"transportTransitGatewayAttachmentId,omitempty" tf:"transport_transit_gateway_attachment_id,omitempty"`

	// The public IP address of the first VPN tunnel.
	Tunnel1Address *string `json:"tunnel1Address,omitempty" tf:"tunnel1_address,omitempty"`

	// The bgp asn number of the first VPN tunnel.
	Tunnel1BGPAsn *string `json:"tunnel1BgpAsn,omitempty" tf:"tunnel1_bgp_asn,omitempty"`

	// The bgp holdtime of the first VPN tunnel.
	Tunnel1BGPHoldtime *float64 `json:"tunnel1BgpHoldtime,omitempty" tf:"tunnel1_bgp_holdtime,omitempty"`

	// The RFC 6890 link-local address of the first VPN tunnel (Customer Gateway Side).
	Tunnel1CgwInsideAddress *string `json:"tunnel1CgwInsideAddress,omitempty" tf:"tunnel1_cgw_inside_address,omitempty"`

	// The action to take after DPD timeout occurs for the first VPN tunnel. Specify restart to restart the IKE initiation. Specify clear to end the IKE session. Valid values are clear | none | restart.
	Tunnel1DpdTimeoutAction *string `json:"tunnel1DpdTimeoutAction,omitempty" tf:"tunnel1_dpd_timeout_action,omitempty"`

	// The number of seconds after which a DPD timeout occurs for the first VPN tunnel. Valid value is equal or higher than 30.
	Tunnel1DpdTimeoutSeconds *float64 `json:"tunnel1DpdTimeoutSeconds,omitempty" tf:"tunnel1_dpd_timeout_seconds,omitempty"`

	// Turn on or off tunnel endpoint lifecycle control feature for the first VPN tunnel. Valid values are true | false.
	Tunnel1EnableTunnelLifecycleControl *bool `json:"tunnel1EnableTunnelLifecycleControl,omitempty" tf:"tunnel1_enable_tunnel_lifecycle_control,omitempty"`

	// The IKE versions that are permitted for the first VPN tunnel. Valid values are ikev1 | ikev2.
	// +listType=set
	Tunnel1IkeVersions []*string `json:"tunnel1IkeVersions,omitempty" tf:"tunnel1_ike_versions,omitempty"`

	// The CIDR block of the inside IP addresses for the first VPN tunnel. Valid value is a size /30 CIDR block from the 169.254.0.0/16 range.
	Tunnel1InsideCidr *string `json:"tunnel1InsideCidr,omitempty" tf:"tunnel1_inside_cidr,omitempty"`

	// The range of inside IPv6 addresses for the first VPN tunnel. Supports only EC2 Transit Gateway. Valid value is a size /126 CIDR block from the local fd00::/8 range.
	Tunnel1InsideIPv6Cidr *string `json:"tunnel1InsideIpv6Cidr,omitempty" tf:"tunnel1_inside_ipv6_cidr,omitempty"`

	// Options for logging VPN tunnel activity. See Log Options below for more details.
	Tunnel1LogOptions *Tunnel1LogOptionsObservation `json:"tunnel1LogOptions,omitempty" tf:"tunnel1_log_options,omitempty"`

	// List of one or more Diffie-Hellman group numbers that are permitted for the first VPN tunnel for phase 1 IKE negotiations. Valid values are  2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24.
	// +listType=set
	Tunnel1Phase1DhGroupNumbers []*float64 `json:"tunnel1Phase1DhGroupNumbers,omitempty" tf:"tunnel1_phase1_dh_group_numbers,omitempty"`

	// List of one or more encryption algorithms that are permitted for the first VPN tunnel for phase 1 IKE negotiations. Valid values are AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16.
	// +listType=set
	Tunnel1Phase1EncryptionAlgorithms []*string `json:"tunnel1Phase1EncryptionAlgorithms,omitempty" tf:"tunnel1_phase1_encryption_algorithms,omitempty"`

	// One or more integrity algorithms that are permitted for the first VPN tunnel for phase 1 IKE negotiations. Valid values are SHA1 | SHA2-256 | SHA2-384 | SHA2-512.
	// +listType=set
	Tunnel1Phase1IntegrityAlgorithms []*string `json:"tunnel1Phase1IntegrityAlgorithms,omitempty" tf:"tunnel1_phase1_integrity_algorithms,omitempty"`

	// The lifetime for phase 1 of the IKE negotiation for the first VPN tunnel, in seconds. Valid value is between 900 and 28800.
	Tunnel1Phase1LifetimeSeconds *float64 `json:"tunnel1Phase1LifetimeSeconds,omitempty" tf:"tunnel1_phase1_lifetime_seconds,omitempty"`

	// List of one or more Diffie-Hellman group numbers that are permitted for the first VPN tunnel for phase 2 IKE negotiations. Valid values are 2 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24.
	// +listType=set
	Tunnel1Phase2DhGroupNumbers []*float64 `json:"tunnel1Phase2DhGroupNumbers,omitempty" tf:"tunnel1_phase2_dh_group_numbers,omitempty"`

	// List of one or more encryption algorithms that are permitted for the first VPN tunnel for phase 2 IKE negotiations. Valid values are AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16.
	// +listType=set
	Tunnel1Phase2EncryptionAlgorithms []*string `json:"tunnel1Phase2EncryptionAlgorithms,omitempty" tf:"tunnel1_phase2_encryption_algorithms,omitempty"`

	// List of one or more integrity algorithms that are permitted for the first VPN tunnel for phase 2 IKE negotiations. Valid values are SHA1 | SHA2-256 | SHA2-384 | SHA2-512.
	// +listType=set
	Tunnel1Phase2IntegrityAlgorithms []*string `json:"tunnel1Phase2IntegrityAlgorithms,omitempty" tf:"tunnel1_phase2_integrity_algorithms,omitempty"`

	// The lifetime for phase 2 of the IKE negotiation for the first VPN tunnel, in seconds. Valid value is between 900 and 3600.
	Tunnel1Phase2LifetimeSeconds *float64 `json:"tunnel1Phase2LifetimeSeconds,omitempty" tf:"tunnel1_phase2_lifetime_seconds,omitempty"`

	// The percentage of the rekey window for the first VPN tunnel (determined by tunnel1_rekey_margin_time_seconds) during which the rekey time is randomly selected. Valid value is between 0 and 100.
	Tunnel1RekeyFuzzPercentage *float64 `json:"tunnel1RekeyFuzzPercentage,omitempty" tf:"tunnel1_rekey_fuzz_percentage,omitempty"`

	// The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the first VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for tunnel1_rekey_fuzz_percentage. Valid value is between 60 and half of tunnel1_phase2_lifetime_seconds.
	Tunnel1RekeyMarginTimeSeconds *float64 `json:"tunnel1RekeyMarginTimeSeconds,omitempty" tf:"tunnel1_rekey_margin_time_seconds,omitempty"`

	// The number of packets in an IKE replay window for the first VPN tunnel. Valid value is between 64 and 2048.
	Tunnel1ReplayWindowSize *float64 `json:"tunnel1ReplayWindowSize,omitempty" tf:"tunnel1_replay_window_size,omitempty"`

	// The action to take when the establishing the tunnel for the first VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify start for AWS to initiate the IKE negotiation. Valid values are add | start.
	Tunnel1StartupAction *string `json:"tunnel1StartupAction,omitempty" tf:"tunnel1_startup_action,omitempty"`

	// The RFC 6890 link-local address of the first VPN tunnel (VPN Gateway Side).
	Tunnel1VgwInsideAddress *string `json:"tunnel1VgwInsideAddress,omitempty" tf:"tunnel1_vgw_inside_address,omitempty"`

	// The public IP address of the second VPN tunnel.
	Tunnel2Address *string `json:"tunnel2Address,omitempty" tf:"tunnel2_address,omitempty"`

	// The bgp asn number of the second VPN tunnel.
	Tunnel2BGPAsn *string `json:"tunnel2BgpAsn,omitempty" tf:"tunnel2_bgp_asn,omitempty"`

	// The bgp holdtime of the second VPN tunnel.
	Tunnel2BGPHoldtime *float64 `json:"tunnel2BgpHoldtime,omitempty" tf:"tunnel2_bgp_holdtime,omitempty"`

	// The RFC 6890 link-local address of the second VPN tunnel (Customer Gateway Side).
	Tunnel2CgwInsideAddress *string `json:"tunnel2CgwInsideAddress,omitempty" tf:"tunnel2_cgw_inside_address,omitempty"`

	// The action to take after DPD timeout occurs for the second VPN tunnel. Specify restart to restart the IKE initiation. Specify clear to end the IKE session. Valid values are clear | none | restart.
	Tunnel2DpdTimeoutAction *string `json:"tunnel2DpdTimeoutAction,omitempty" tf:"tunnel2_dpd_timeout_action,omitempty"`

	// The number of seconds after which a DPD timeout occurs for the second VPN tunnel. Valid value is equal or higher than 30.
	Tunnel2DpdTimeoutSeconds *float64 `json:"tunnel2DpdTimeoutSeconds,omitempty" tf:"tunnel2_dpd_timeout_seconds,omitempty"`

	// Turn on or off tunnel endpoint lifecycle control feature for the second VPN tunnel. Valid values are true | false.
	Tunnel2EnableTunnelLifecycleControl *bool `json:"tunnel2EnableTunnelLifecycleControl,omitempty" tf:"tunnel2_enable_tunnel_lifecycle_control,omitempty"`

	// The IKE versions that are permitted for the second VPN tunnel. Valid values are ikev1 | ikev2.
	// +listType=set
	Tunnel2IkeVersions []*string `json:"tunnel2IkeVersions,omitempty" tf:"tunnel2_ike_versions,omitempty"`

	// The CIDR block of the inside IP addresses for the second VPN tunnel. Valid value is a size /30 CIDR block from the 169.254.0.0/16 range.
	Tunnel2InsideCidr *string `json:"tunnel2InsideCidr,omitempty" tf:"tunnel2_inside_cidr,omitempty"`

	// The range of inside IPv6 addresses for the second VPN tunnel. Supports only EC2 Transit Gateway. Valid value is a size /126 CIDR block from the local fd00::/8 range.
	Tunnel2InsideIPv6Cidr *string `json:"tunnel2InsideIpv6Cidr,omitempty" tf:"tunnel2_inside_ipv6_cidr,omitempty"`

	// Options for logging VPN tunnel activity. See Log Options below for more details.
	Tunnel2LogOptions *Tunnel2LogOptionsObservation `json:"tunnel2LogOptions,omitempty" tf:"tunnel2_log_options,omitempty"`

	// List of one or more Diffie-Hellman group numbers that are permitted for the second VPN tunnel for phase 1 IKE negotiations. Valid values are  2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24.
	// +listType=set
	Tunnel2Phase1DhGroupNumbers []*float64 `json:"tunnel2Phase1DhGroupNumbers,omitempty" tf:"tunnel2_phase1_dh_group_numbers,omitempty"`

	// List of one or more encryption algorithms that are permitted for the second VPN tunnel for phase 1 IKE negotiations. Valid values are AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16.
	// +listType=set
	Tunnel2Phase1EncryptionAlgorithms []*string `json:"tunnel2Phase1EncryptionAlgorithms,omitempty" tf:"tunnel2_phase1_encryption_algorithms,omitempty"`

	// One or more integrity algorithms that are permitted for the second VPN tunnel for phase 1 IKE negotiations. Valid values are SHA1 | SHA2-256 | SHA2-384 | SHA2-512.
	// +listType=set
	Tunnel2Phase1IntegrityAlgorithms []*string `json:"tunnel2Phase1IntegrityAlgorithms,omitempty" tf:"tunnel2_phase1_integrity_algorithms,omitempty"`

	// The lifetime for phase 1 of the IKE negotiation for the second VPN tunnel, in seconds. Valid value is between 900 and 28800.
	Tunnel2Phase1LifetimeSeconds *float64 `json:"tunnel2Phase1LifetimeSeconds,omitempty" tf:"tunnel2_phase1_lifetime_seconds,omitempty"`

	// List of one or more Diffie-Hellman group numbers that are permitted for the second VPN tunnel for phase 2 IKE negotiations. Valid values are 2 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24.
	// +listType=set
	Tunnel2Phase2DhGroupNumbers []*float64 `json:"tunnel2Phase2DhGroupNumbers,omitempty" tf:"tunnel2_phase2_dh_group_numbers,omitempty"`

	// List of one or more encryption algorithms that are permitted for the second VPN tunnel for phase 2 IKE negotiations. Valid values are AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16.
	// +listType=set
	Tunnel2Phase2EncryptionAlgorithms []*string `json:"tunnel2Phase2EncryptionAlgorithms,omitempty" tf:"tunnel2_phase2_encryption_algorithms,omitempty"`

	// List of one or more integrity algorithms that are permitted for the second VPN tunnel for phase 2 IKE negotiations. Valid values are SHA1 | SHA2-256 | SHA2-384 | SHA2-512.
	// +listType=set
	Tunnel2Phase2IntegrityAlgorithms []*string `json:"tunnel2Phase2IntegrityAlgorithms,omitempty" tf:"tunnel2_phase2_integrity_algorithms,omitempty"`

	// The lifetime for phase 2 of the IKE negotiation for the second VPN tunnel, in seconds. Valid value is between 900 and 3600.
	Tunnel2Phase2LifetimeSeconds *float64 `json:"tunnel2Phase2LifetimeSeconds,omitempty" tf:"tunnel2_phase2_lifetime_seconds,omitempty"`

	// The percentage of the rekey window for the second VPN tunnel (determined by tunnel2_rekey_margin_time_seconds) during which the rekey time is randomly selected. Valid value is between 0 and 100.
	Tunnel2RekeyFuzzPercentage *float64 `json:"tunnel2RekeyFuzzPercentage,omitempty" tf:"tunnel2_rekey_fuzz_percentage,omitempty"`

	// The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the second VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for tunnel2_rekey_fuzz_percentage. Valid value is between 60 and half of tunnel2_phase2_lifetime_seconds.
	Tunnel2RekeyMarginTimeSeconds *float64 `json:"tunnel2RekeyMarginTimeSeconds,omitempty" tf:"tunnel2_rekey_margin_time_seconds,omitempty"`

	// The number of packets in an IKE replay window for the second VPN tunnel. Valid value is between 64 and 2048.
	Tunnel2ReplayWindowSize *float64 `json:"tunnel2ReplayWindowSize,omitempty" tf:"tunnel2_replay_window_size,omitempty"`

	// The action to take when the establishing the tunnel for the second VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify start for AWS to initiate the IKE negotiation. Valid values are add | start.
	Tunnel2StartupAction *string `json:"tunnel2StartupAction,omitempty" tf:"tunnel2_startup_action,omitempty"`

	// The RFC 6890 link-local address of the second VPN tunnel (VPN Gateway Side).
	Tunnel2VgwInsideAddress *string `json:"tunnel2VgwInsideAddress,omitempty" tf:"tunnel2_vgw_inside_address,omitempty"`

	// Indicate whether the VPN tunnels process IPv4 or IPv6 traffic. Valid values are ipv4 | ipv6. ipv6 Supports only EC2 Transit Gateway.
	TunnelInsideIPVersion *string `json:"tunnelInsideIpVersion,omitempty" tf:"tunnel_inside_ip_version,omitempty"`

	// The type of VPN connection. The only type AWS supports at this time is "ipsec.1".
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// The ID of the Virtual Private Gateway.
	VPNGatewayID *string `json:"vpnGatewayId,omitempty" tf:"vpn_gateway_id,omitempty"`

	// Telemetry for the VPN tunnels. Detailed below.
	VgwTelemetry []VgwTelemetryObservation `json:"vgwTelemetry,omitempty" tf:"vgw_telemetry,omitempty"`
}

func (*VPNConnectionObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNConnectionObservation.

func (*VPNConnectionObservation) DeepCopyInto added in v1.7.0

func (in *VPNConnectionObservation) DeepCopyInto(out *VPNConnectionObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPNConnectionParameters added in v1.7.0

type VPNConnectionParameters struct {

	// The ID of the customer gateway.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.CustomerGateway
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	CustomerGatewayID *string `json:"customerGatewayId,omitempty" tf:"customer_gateway_id,omitempty"`

	// Reference to a CustomerGateway in ec2 to populate customerGatewayId.
	// +kubebuilder:validation:Optional
	CustomerGatewayIDRef *v1.Reference `json:"customerGatewayIdRef,omitempty" tf:"-"`

	// Selector for a CustomerGateway in ec2 to populate customerGatewayId.
	// +kubebuilder:validation:Optional
	CustomerGatewayIDSelector *v1.Selector `json:"customerGatewayIdSelector,omitempty" tf:"-"`

	// Indicate whether to enable acceleration for the VPN connection. Supports only EC2 Transit Gateway.
	// +kubebuilder:validation:Optional
	EnableAcceleration *bool `json:"enableAcceleration,omitempty" tf:"enable_acceleration,omitempty"`

	// The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.
	// +kubebuilder:validation:Optional
	LocalIPv4NetworkCidr *string `json:"localIpv4NetworkCidr,omitempty" tf:"local_ipv4_network_cidr,omitempty"`

	// The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.
	// +kubebuilder:validation:Optional
	LocalIPv6NetworkCidr *string `json:"localIpv6NetworkCidr,omitempty" tf:"local_ipv6_network_cidr,omitempty"`

	// Indicates if a Public S2S VPN or Private S2S VPN over AWS Direct Connect. Valid values are PublicIpv4 | PrivateIpv4
	// +kubebuilder:validation:Optional
	OutsideIPAddressType *string `json:"outsideIpAddressType,omitempty" tf:"outside_ip_address_type,omitempty"`

	// Region is the region you'd like your resource to be created in.
	// +upjet:crd:field:TFTag=-
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"-"`

	// The IPv4 CIDR on the AWS side of the VPN connection.
	// +kubebuilder:validation:Optional
	RemoteIPv4NetworkCidr *string `json:"remoteIpv4NetworkCidr,omitempty" tf:"remote_ipv4_network_cidr,omitempty"`

	// The IPv6 CIDR on the AWS side of the VPN connection.
	// +kubebuilder:validation:Optional
	RemoteIPv6NetworkCidr *string `json:"remoteIpv6NetworkCidr,omitempty" tf:"remote_ipv6_network_cidr,omitempty"`

	// Whether the VPN connection uses static routes exclusively. Static routes must be used for devices that don't support BGP.
	// +kubebuilder:validation:Optional
	StaticRoutesOnly *bool `json:"staticRoutesOnly,omitempty" tf:"static_routes_only,omitempty"`

	// Key-value map of resource tags.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The ID of the EC2 Transit Gateway.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.TransitGateway
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	TransitGatewayID *string `json:"transitGatewayId,omitempty" tf:"transit_gateway_id,omitempty"`

	// Reference to a TransitGateway in ec2 to populate transitGatewayId.
	// +kubebuilder:validation:Optional
	TransitGatewayIDRef *v1.Reference `json:"transitGatewayIdRef,omitempty" tf:"-"`

	// Selector for a TransitGateway in ec2 to populate transitGatewayId.
	// +kubebuilder:validation:Optional
	TransitGatewayIDSelector *v1.Selector `json:"transitGatewayIdSelector,omitempty" tf:"-"`

	// . The attachment ID of the Transit Gateway attachment to Direct Connect Gateway. The ID is obtained through a data source only.
	// +kubebuilder:validation:Optional
	TransportTransitGatewayAttachmentID *string `json:"transportTransitGatewayAttachmentId,omitempty" tf:"transport_transit_gateway_attachment_id,omitempty"`

	// The action to take after DPD timeout occurs for the first VPN tunnel. Specify restart to restart the IKE initiation. Specify clear to end the IKE session. Valid values are clear | none | restart.
	// +kubebuilder:validation:Optional
	Tunnel1DpdTimeoutAction *string `json:"tunnel1DpdTimeoutAction,omitempty" tf:"tunnel1_dpd_timeout_action,omitempty"`

	// The number of seconds after which a DPD timeout occurs for the first VPN tunnel. Valid value is equal or higher than 30.
	// +kubebuilder:validation:Optional
	Tunnel1DpdTimeoutSeconds *float64 `json:"tunnel1DpdTimeoutSeconds,omitempty" tf:"tunnel1_dpd_timeout_seconds,omitempty"`

	// Turn on or off tunnel endpoint lifecycle control feature for the first VPN tunnel. Valid values are true | false.
	// +kubebuilder:validation:Optional
	Tunnel1EnableTunnelLifecycleControl *bool `json:"tunnel1EnableTunnelLifecycleControl,omitempty" tf:"tunnel1_enable_tunnel_lifecycle_control,omitempty"`

	// The IKE versions that are permitted for the first VPN tunnel. Valid values are ikev1 | ikev2.
	// +kubebuilder:validation:Optional
	// +listType=set
	Tunnel1IkeVersions []*string `json:"tunnel1IkeVersions,omitempty" tf:"tunnel1_ike_versions,omitempty"`

	// The CIDR block of the inside IP addresses for the first VPN tunnel. Valid value is a size /30 CIDR block from the 169.254.0.0/16 range.
	// +kubebuilder:validation:Optional
	Tunnel1InsideCidr *string `json:"tunnel1InsideCidr,omitempty" tf:"tunnel1_inside_cidr,omitempty"`

	// The range of inside IPv6 addresses for the first VPN tunnel. Supports only EC2 Transit Gateway. Valid value is a size /126 CIDR block from the local fd00::/8 range.
	// +kubebuilder:validation:Optional
	Tunnel1InsideIPv6Cidr *string `json:"tunnel1InsideIpv6Cidr,omitempty" tf:"tunnel1_inside_ipv6_cidr,omitempty"`

	// Options for logging VPN tunnel activity. See Log Options below for more details.
	// +kubebuilder:validation:Optional
	Tunnel1LogOptions *Tunnel1LogOptionsParameters `json:"tunnel1LogOptions,omitempty" tf:"tunnel1_log_options,omitempty"`

	// List of one or more Diffie-Hellman group numbers that are permitted for the first VPN tunnel for phase 1 IKE negotiations. Valid values are  2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24.
	// +kubebuilder:validation:Optional
	// +listType=set
	Tunnel1Phase1DhGroupNumbers []*float64 `json:"tunnel1Phase1DhGroupNumbers,omitempty" tf:"tunnel1_phase1_dh_group_numbers,omitempty"`

	// List of one or more encryption algorithms that are permitted for the first VPN tunnel for phase 1 IKE negotiations. Valid values are AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16.
	// +kubebuilder:validation:Optional
	// +listType=set
	Tunnel1Phase1EncryptionAlgorithms []*string `json:"tunnel1Phase1EncryptionAlgorithms,omitempty" tf:"tunnel1_phase1_encryption_algorithms,omitempty"`

	// One or more integrity algorithms that are permitted for the first VPN tunnel for phase 1 IKE negotiations. Valid values are SHA1 | SHA2-256 | SHA2-384 | SHA2-512.
	// +kubebuilder:validation:Optional
	// +listType=set
	Tunnel1Phase1IntegrityAlgorithms []*string `json:"tunnel1Phase1IntegrityAlgorithms,omitempty" tf:"tunnel1_phase1_integrity_algorithms,omitempty"`

	// The lifetime for phase 1 of the IKE negotiation for the first VPN tunnel, in seconds. Valid value is between 900 and 28800.
	// +kubebuilder:validation:Optional
	Tunnel1Phase1LifetimeSeconds *float64 `json:"tunnel1Phase1LifetimeSeconds,omitempty" tf:"tunnel1_phase1_lifetime_seconds,omitempty"`

	// List of one or more Diffie-Hellman group numbers that are permitted for the first VPN tunnel for phase 2 IKE negotiations. Valid values are 2 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24.
	// +kubebuilder:validation:Optional
	// +listType=set
	Tunnel1Phase2DhGroupNumbers []*float64 `json:"tunnel1Phase2DhGroupNumbers,omitempty" tf:"tunnel1_phase2_dh_group_numbers,omitempty"`

	// List of one or more encryption algorithms that are permitted for the first VPN tunnel for phase 2 IKE negotiations. Valid values are AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16.
	// +kubebuilder:validation:Optional
	// +listType=set
	Tunnel1Phase2EncryptionAlgorithms []*string `json:"tunnel1Phase2EncryptionAlgorithms,omitempty" tf:"tunnel1_phase2_encryption_algorithms,omitempty"`

	// List of one or more integrity algorithms that are permitted for the first VPN tunnel for phase 2 IKE negotiations. Valid values are SHA1 | SHA2-256 | SHA2-384 | SHA2-512.
	// +kubebuilder:validation:Optional
	// +listType=set
	Tunnel1Phase2IntegrityAlgorithms []*string `json:"tunnel1Phase2IntegrityAlgorithms,omitempty" tf:"tunnel1_phase2_integrity_algorithms,omitempty"`

	// The lifetime for phase 2 of the IKE negotiation for the first VPN tunnel, in seconds. Valid value is between 900 and 3600.
	// +kubebuilder:validation:Optional
	Tunnel1Phase2LifetimeSeconds *float64 `json:"tunnel1Phase2LifetimeSeconds,omitempty" tf:"tunnel1_phase2_lifetime_seconds,omitempty"`

	// The preshared key of the first VPN tunnel. The preshared key must be between 8 and 64 characters in length and cannot start with zero(0). Allowed characters are alphanumeric characters, periods(.) and underscores(_).
	// +kubebuilder:validation:Optional
	Tunnel1PresharedKeySecretRef *v1.SecretKeySelector `json:"tunnel1PresharedKeySecretRef,omitempty" tf:"-"`

	// The percentage of the rekey window for the first VPN tunnel (determined by tunnel1_rekey_margin_time_seconds) during which the rekey time is randomly selected. Valid value is between 0 and 100.
	// +kubebuilder:validation:Optional
	Tunnel1RekeyFuzzPercentage *float64 `json:"tunnel1RekeyFuzzPercentage,omitempty" tf:"tunnel1_rekey_fuzz_percentage,omitempty"`

	// The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the first VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for tunnel1_rekey_fuzz_percentage. Valid value is between 60 and half of tunnel1_phase2_lifetime_seconds.
	// +kubebuilder:validation:Optional
	Tunnel1RekeyMarginTimeSeconds *float64 `json:"tunnel1RekeyMarginTimeSeconds,omitempty" tf:"tunnel1_rekey_margin_time_seconds,omitempty"`

	// The number of packets in an IKE replay window for the first VPN tunnel. Valid value is between 64 and 2048.
	// +kubebuilder:validation:Optional
	Tunnel1ReplayWindowSize *float64 `json:"tunnel1ReplayWindowSize,omitempty" tf:"tunnel1_replay_window_size,omitempty"`

	// The action to take when the establishing the tunnel for the first VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify start for AWS to initiate the IKE negotiation. Valid values are add | start.
	// +kubebuilder:validation:Optional
	Tunnel1StartupAction *string `json:"tunnel1StartupAction,omitempty" tf:"tunnel1_startup_action,omitempty"`

	// The action to take after DPD timeout occurs for the second VPN tunnel. Specify restart to restart the IKE initiation. Specify clear to end the IKE session. Valid values are clear | none | restart.
	// +kubebuilder:validation:Optional
	Tunnel2DpdTimeoutAction *string `json:"tunnel2DpdTimeoutAction,omitempty" tf:"tunnel2_dpd_timeout_action,omitempty"`

	// The number of seconds after which a DPD timeout occurs for the second VPN tunnel. Valid value is equal or higher than 30.
	// +kubebuilder:validation:Optional
	Tunnel2DpdTimeoutSeconds *float64 `json:"tunnel2DpdTimeoutSeconds,omitempty" tf:"tunnel2_dpd_timeout_seconds,omitempty"`

	// Turn on or off tunnel endpoint lifecycle control feature for the second VPN tunnel. Valid values are true | false.
	// +kubebuilder:validation:Optional
	Tunnel2EnableTunnelLifecycleControl *bool `json:"tunnel2EnableTunnelLifecycleControl,omitempty" tf:"tunnel2_enable_tunnel_lifecycle_control,omitempty"`

	// The IKE versions that are permitted for the second VPN tunnel. Valid values are ikev1 | ikev2.
	// +kubebuilder:validation:Optional
	// +listType=set
	Tunnel2IkeVersions []*string `json:"tunnel2IkeVersions,omitempty" tf:"tunnel2_ike_versions,omitempty"`

	// The CIDR block of the inside IP addresses for the second VPN tunnel. Valid value is a size /30 CIDR block from the 169.254.0.0/16 range.
	// +kubebuilder:validation:Optional
	Tunnel2InsideCidr *string `json:"tunnel2InsideCidr,omitempty" tf:"tunnel2_inside_cidr,omitempty"`

	// The range of inside IPv6 addresses for the second VPN tunnel. Supports only EC2 Transit Gateway. Valid value is a size /126 CIDR block from the local fd00::/8 range.
	// +kubebuilder:validation:Optional
	Tunnel2InsideIPv6Cidr *string `json:"tunnel2InsideIpv6Cidr,omitempty" tf:"tunnel2_inside_ipv6_cidr,omitempty"`

	// Options for logging VPN tunnel activity. See Log Options below for more details.
	// +kubebuilder:validation:Optional
	Tunnel2LogOptions *Tunnel2LogOptionsParameters `json:"tunnel2LogOptions,omitempty" tf:"tunnel2_log_options,omitempty"`

	// List of one or more Diffie-Hellman group numbers that are permitted for the second VPN tunnel for phase 1 IKE negotiations. Valid values are  2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24.
	// +kubebuilder:validation:Optional
	// +listType=set
	Tunnel2Phase1DhGroupNumbers []*float64 `json:"tunnel2Phase1DhGroupNumbers,omitempty" tf:"tunnel2_phase1_dh_group_numbers,omitempty"`

	// List of one or more encryption algorithms that are permitted for the second VPN tunnel for phase 1 IKE negotiations. Valid values are AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16.
	// +kubebuilder:validation:Optional
	// +listType=set
	Tunnel2Phase1EncryptionAlgorithms []*string `json:"tunnel2Phase1EncryptionAlgorithms,omitempty" tf:"tunnel2_phase1_encryption_algorithms,omitempty"`

	// One or more integrity algorithms that are permitted for the second VPN tunnel for phase 1 IKE negotiations. Valid values are SHA1 | SHA2-256 | SHA2-384 | SHA2-512.
	// +kubebuilder:validation:Optional
	// +listType=set
	Tunnel2Phase1IntegrityAlgorithms []*string `json:"tunnel2Phase1IntegrityAlgorithms,omitempty" tf:"tunnel2_phase1_integrity_algorithms,omitempty"`

	// The lifetime for phase 1 of the IKE negotiation for the second VPN tunnel, in seconds. Valid value is between 900 and 28800.
	// +kubebuilder:validation:Optional
	Tunnel2Phase1LifetimeSeconds *float64 `json:"tunnel2Phase1LifetimeSeconds,omitempty" tf:"tunnel2_phase1_lifetime_seconds,omitempty"`

	// List of one or more Diffie-Hellman group numbers that are permitted for the second VPN tunnel for phase 2 IKE negotiations. Valid values are 2 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24.
	// +kubebuilder:validation:Optional
	// +listType=set
	Tunnel2Phase2DhGroupNumbers []*float64 `json:"tunnel2Phase2DhGroupNumbers,omitempty" tf:"tunnel2_phase2_dh_group_numbers,omitempty"`

	// List of one or more encryption algorithms that are permitted for the second VPN tunnel for phase 2 IKE negotiations. Valid values are AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16.
	// +kubebuilder:validation:Optional
	// +listType=set
	Tunnel2Phase2EncryptionAlgorithms []*string `json:"tunnel2Phase2EncryptionAlgorithms,omitempty" tf:"tunnel2_phase2_encryption_algorithms,omitempty"`

	// List of one or more integrity algorithms that are permitted for the second VPN tunnel for phase 2 IKE negotiations. Valid values are SHA1 | SHA2-256 | SHA2-384 | SHA2-512.
	// +kubebuilder:validation:Optional
	// +listType=set
	Tunnel2Phase2IntegrityAlgorithms []*string `json:"tunnel2Phase2IntegrityAlgorithms,omitempty" tf:"tunnel2_phase2_integrity_algorithms,omitempty"`

	// The lifetime for phase 2 of the IKE negotiation for the second VPN tunnel, in seconds. Valid value is between 900 and 3600.
	// +kubebuilder:validation:Optional
	Tunnel2Phase2LifetimeSeconds *float64 `json:"tunnel2Phase2LifetimeSeconds,omitempty" tf:"tunnel2_phase2_lifetime_seconds,omitempty"`

	// The preshared key of the second VPN tunnel. The preshared key must be between 8 and 64 characters in length and cannot start with zero(0). Allowed characters are alphanumeric characters, periods(.) and underscores(_).
	// +kubebuilder:validation:Optional
	Tunnel2PresharedKeySecretRef *v1.SecretKeySelector `json:"tunnel2PresharedKeySecretRef,omitempty" tf:"-"`

	// The percentage of the rekey window for the second VPN tunnel (determined by tunnel2_rekey_margin_time_seconds) during which the rekey time is randomly selected. Valid value is between 0 and 100.
	// +kubebuilder:validation:Optional
	Tunnel2RekeyFuzzPercentage *float64 `json:"tunnel2RekeyFuzzPercentage,omitempty" tf:"tunnel2_rekey_fuzz_percentage,omitempty"`

	// The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the second VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for tunnel2_rekey_fuzz_percentage. Valid value is between 60 and half of tunnel2_phase2_lifetime_seconds.
	// +kubebuilder:validation:Optional
	Tunnel2RekeyMarginTimeSeconds *float64 `json:"tunnel2RekeyMarginTimeSeconds,omitempty" tf:"tunnel2_rekey_margin_time_seconds,omitempty"`

	// The number of packets in an IKE replay window for the second VPN tunnel. Valid value is between 64 and 2048.
	// +kubebuilder:validation:Optional
	Tunnel2ReplayWindowSize *float64 `json:"tunnel2ReplayWindowSize,omitempty" tf:"tunnel2_replay_window_size,omitempty"`

	// The action to take when the establishing the tunnel for the second VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify start for AWS to initiate the IKE negotiation. Valid values are add | start.
	// +kubebuilder:validation:Optional
	Tunnel2StartupAction *string `json:"tunnel2StartupAction,omitempty" tf:"tunnel2_startup_action,omitempty"`

	// Indicate whether the VPN tunnels process IPv4 or IPv6 traffic. Valid values are ipv4 | ipv6. ipv6 Supports only EC2 Transit Gateway.
	// +kubebuilder:validation:Optional
	TunnelInsideIPVersion *string `json:"tunnelInsideIpVersion,omitempty" tf:"tunnel_inside_ip_version,omitempty"`

	// The type of VPN connection. The only type AWS supports at this time is "ipsec.1".
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.CustomerGateway
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("type",false)
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Reference to a CustomerGateway in ec2 to populate type.
	// +kubebuilder:validation:Optional
	TypeRef *v1.Reference `json:"typeRef,omitempty" tf:"-"`

	// Selector for a CustomerGateway in ec2 to populate type.
	// +kubebuilder:validation:Optional
	TypeSelector *v1.Selector `json:"typeSelector,omitempty" tf:"-"`

	// The ID of the Virtual Private Gateway.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.VPNGateway
	// +kubebuilder:validation:Optional
	VPNGatewayID *string `json:"vpnGatewayId,omitempty" tf:"vpn_gateway_id,omitempty"`

	// Reference to a VPNGateway in ec2 to populate vpnGatewayId.
	// +kubebuilder:validation:Optional
	VPNGatewayIDRef *v1.Reference `json:"vpnGatewayIdRef,omitempty" tf:"-"`

	// Selector for a VPNGateway in ec2 to populate vpnGatewayId.
	// +kubebuilder:validation:Optional
	VPNGatewayIDSelector *v1.Selector `json:"vpnGatewayIdSelector,omitempty" tf:"-"`
}

func (*VPNConnectionParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNConnectionParameters.

func (*VPNConnectionParameters) DeepCopyInto added in v1.7.0

func (in *VPNConnectionParameters) DeepCopyInto(out *VPNConnectionParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPNConnectionSpec added in v1.7.0

type VPNConnectionSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     VPNConnectionParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider VPNConnectionInitParameters `json:"initProvider,omitempty"`
}

VPNConnectionSpec defines the desired state of VPNConnection

func (*VPNConnectionSpec) DeepCopy added in v1.7.0

func (in *VPNConnectionSpec) DeepCopy() *VPNConnectionSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNConnectionSpec.

func (*VPNConnectionSpec) DeepCopyInto added in v1.7.0

func (in *VPNConnectionSpec) DeepCopyInto(out *VPNConnectionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPNConnectionStatus added in v1.7.0

type VPNConnectionStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        VPNConnectionObservation `json:"atProvider,omitempty"`
}

VPNConnectionStatus defines the observed state of VPNConnection.

func (*VPNConnectionStatus) DeepCopy added in v1.7.0

func (in *VPNConnectionStatus) DeepCopy() *VPNConnectionStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPNConnectionStatus.

func (*VPNConnectionStatus) DeepCopyInto added in v1.7.0

func (in *VPNConnectionStatus) DeepCopyInto(out *VPNConnectionStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VcpuCountInitParameters added in v1.7.0

type VcpuCountInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*VcpuCountInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VcpuCountInitParameters.

func (*VcpuCountInitParameters) DeepCopyInto added in v1.7.0

func (in *VcpuCountInitParameters) DeepCopyInto(out *VcpuCountInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VcpuCountObservation added in v1.7.0

type VcpuCountObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*VcpuCountObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VcpuCountObservation.

func (*VcpuCountObservation) DeepCopyInto added in v1.7.0

func (in *VcpuCountObservation) DeepCopyInto(out *VcpuCountObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VcpuCountParameters added in v1.7.0

type VcpuCountParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min" tf:"min,omitempty"`
}

func (*VcpuCountParameters) DeepCopy added in v1.7.0

func (in *VcpuCountParameters) DeepCopy() *VcpuCountParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VcpuCountParameters.

func (*VcpuCountParameters) DeepCopyInto added in v1.7.0

func (in *VcpuCountParameters) DeepCopyInto(out *VcpuCountParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VgwTelemetryInitParameters added in v1.7.0

type VgwTelemetryInitParameters struct {
}

func (*VgwTelemetryInitParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VgwTelemetryInitParameters.

func (*VgwTelemetryInitParameters) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VgwTelemetryObservation added in v1.7.0

type VgwTelemetryObservation struct {

	// The number of accepted routes.
	AcceptedRouteCount *float64 `json:"acceptedRouteCount,omitempty" tf:"accepted_route_count,omitempty"`

	// The Amazon Resource Name (ARN) of the VPN tunnel endpoint certificate.
	CertificateArn *string `json:"certificateArn,omitempty" tf:"certificate_arn,omitempty"`

	// The date and time of the last change in status.
	LastStatusChange *string `json:"lastStatusChange,omitempty" tf:"last_status_change,omitempty"`

	// The Internet-routable IP address of the virtual private gateway's outside interface.
	OutsideIPAddress *string `json:"outsideIpAddress,omitempty" tf:"outside_ip_address,omitempty"`

	// The status of the VPN tunnel.
	Status *string `json:"status,omitempty" tf:"status,omitempty"`

	// If an error occurs, a description of the error.
	StatusMessage *string `json:"statusMessage,omitempty" tf:"status_message,omitempty"`
}

func (*VgwTelemetryObservation) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VgwTelemetryObservation.

func (*VgwTelemetryObservation) DeepCopyInto added in v1.7.0

func (in *VgwTelemetryObservation) DeepCopyInto(out *VgwTelemetryObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VgwTelemetryParameters added in v1.7.0

type VgwTelemetryParameters struct {
}

func (*VgwTelemetryParameters) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VgwTelemetryParameters.

func (*VgwTelemetryParameters) DeepCopyInto added in v1.7.0

func (in *VgwTelemetryParameters) DeepCopyInto(out *VgwTelemetryParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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