manualv1alpha1

package
v0.51.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	Group   = "ec2.aws.crossplane.io"
	Version = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: Group, Version: Version}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)
View Source
var (
	VPCCIDRBlockKind             = reflect.TypeOf(VPCCIDRBlock{}).Name()
	VPCCIDRBlockGroupKind        = schema.GroupKind{Group: Group, Kind: VPCCIDRBlockKind}.String()
	VPCCIDRBlockKindAPIVersion   = VPCCIDRBlockKind + "." + SchemeGroupVersion.String()
	VPCCIDRBlockGroupVersionKind = SchemeGroupVersion.WithKind(VPCCIDRBlockKind)
)

VPCCIDRBlock type metadata.

View Source
var (
	SecurityGroupRuleKind             = reflect.TypeOf(SecurityGroupRule{}).Name()
	SecurityGroupRuleGroupKind        = schema.GroupKind{Group: Group, Kind: SecurityGroupRuleKind}.String()
	SecurityGroupRuleKindAPIVersion   = SecurityGroupRuleKind + "." + SchemeGroupVersion.String()
	SecurityGroupRuleGroupVersionKind = SchemeGroupVersion.WithKind(SecurityGroupRuleKind)
)

SecurityGroupRule type metadata.

View Source
var (
	InstanceKind             = reflect.TypeOf(Instance{}).Name()
	InstanceGroupKind        = schema.GroupKind{Group: Group, Kind: InstanceKind}.String()
	InstanceKindAPIVersion   = InstanceKind + "." + SchemeGroupVersion.String()
	InstanceGroupVersionKind = SchemeGroupVersion.WithKind(InstanceKind)
)

Instance type metadata.

Functions

This section is empty.

Types

type BlockDeviceMapping

type BlockDeviceMapping struct {
	// The device name (for example, /dev/sdh or xvdh).
	DeviceName *string `json:"deviceName"`

	// Parameters used to automatically set up EBS volumes when the instance is
	// launched.
	EBS *EBSBlockDevice `json:"ebs"`

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

	// The virtual device name (ephemeralN). Instance store volumes are numbered
	// starting from 0. An instance type with 2 available instance store volumes
	// can specify mappings for ephemeral0 and ephemeral1. The number of available
	// instance store volumes depends on the instance type. After you connect to
	// the instance, you must mount the volume.
	//
	// NVMe instance store volumes are automatically enumerated and assigned a device
	// name. Including them in your block device mapping has no effect.
	//
	// Constraints: For M3 instances, you must specify instance store volumes in
	// the block device mapping for the instance. When you launch an M3 instance,
	// we ignore any instance store volumes specified in the block device mapping
	// for the AMI.
	VirtualName *string `json:"virtualName,omitempty"`
}

BlockDeviceMapping describes a block device mapping.

func (*BlockDeviceMapping) DeepCopy

func (in *BlockDeviceMapping) DeepCopy() *BlockDeviceMapping

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

func (*BlockDeviceMapping) DeepCopyInto

func (in *BlockDeviceMapping) DeepCopyInto(out *BlockDeviceMapping)

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

type CPUOptionsRequest

type CPUOptionsRequest struct {
	// The number of CPU cores for the instance.
	CoreCount *int32 `json:"coreCount"`

	// The number of threads per CPU core. To disable multithreading for the instance,
	// specify a value of 1. Otherwise, specify the default value of 2.
	ThreadsPerCore *int32 `json:"threadsPerCore"`
}

CPUOptionsRequest defines the options for the instance. Both the core count and threads per core must be specified in the request.

func (*CPUOptionsRequest) DeepCopy

func (in *CPUOptionsRequest) DeepCopy() *CPUOptionsRequest

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

func (*CPUOptionsRequest) DeepCopyInto

func (in *CPUOptionsRequest) DeepCopyInto(out *CPUOptionsRequest)

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

type CapacityReservationSpecification

type CapacityReservationSpecification struct {
	// Indicates the instance's Capacity Reservation preferences. Possible preferences
	// include:
	//
	//    * open - The instance can run in any open Capacity Reservation that has
	//    matching attributes (instance type, platform, Availability Zone).
	//
	//    * none - The instance avoids running in a Capacity Reservation even if
	//    one is available. The instance runs as an On-Demand Instance.
	// +kubebuilder:validation:Enum=open;none
	CapacityReservationPreference string `json:"capacityReservationsPreference"`

	// Information about the target Capacity Reservation.
	// +optional
	CapacityReservationTarget *CapacityReservationTarget `json:"capacityReservationTarget"`
}

CapacityReservationSpecification describes an instance's Capacity Reservation targeting option. You can specify only one parameter at a time. If you specify CapacityReservationPreference and CapacityReservationTarget, the request fails.

Use the CapacityReservationPreference parameter to configure the instance to run as an On-Demand Instance or to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone). Use the CapacityReservationTarget parameter to explicitly target a specific Capacity Reservation.

func (*CapacityReservationSpecification) DeepCopy

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

func (*CapacityReservationSpecification) DeepCopyInto

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

type CapacityReservationSpecificationResponse

type CapacityReservationSpecificationResponse struct {
	// Describes the instance's Capacity Reservation preferences. Possible preferences
	// include:
	//
	//    * open - The instance can run in any open Capacity Reservation that has
	//    matching attributes (instance type, platform, Availability Zone).
	//
	//    * none - The instance avoids running in a Capacity Reservation even if
	//    one is available. The instance runs in On-Demand capacity.
	CapacityReservationPreference string `json:"capacityReservationPreference"`

	// Information about the targeted Capacity Reservation.
	// +optional
	CapacityReservationTarget *CapacityReservationTarget `json:"capacityReservationTarget"`
}

CapacityReservationSpecificationResponse describes the instance's Capacity Reservation targeting preferences. The action returns the capacityReservationPreference response element if the instance is configured to run in On-Demand capacity, or if it is configured in run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone). The action returns the capacityReservationTarget response element if the instance explicily targets a specific Capacity Reservation.

func (*CapacityReservationSpecificationResponse) DeepCopy

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

func (*CapacityReservationSpecificationResponse) DeepCopyInto

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

type CapacityReservationTarget

type CapacityReservationTarget struct {
	// The ID of the Capacity Reservation.
	// +optional
	CapacityReservationID *string `json:"capacityReservationId"`
}

CapacityReservationTarget describes a target Capacity Reservation.

func (*CapacityReservationTarget) DeepCopy

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

func (*CapacityReservationTarget) DeepCopyInto

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

type CreditSpecificationRequest

type CreditSpecificationRequest struct {
	// The credit option for CPU usage of a T2 or T3 instance. Valid values are
	// standard and unlimited.
	//
	// CPUCredits is a required field
	CPUCredits *string `json:"cpuCredits"`
}

CreditSpecificationRequest describes the credit option for CPU usage of a T2 or T3 instance.

func (*CreditSpecificationRequest) DeepCopy

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

func (*CreditSpecificationRequest) DeepCopyInto

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

type EBSBlockDevice

type EBSBlockDevice struct {
	// Indicates whether the EBS volume is deleted on instance termination. For
	// more information, see Preserving Amazon EBS Volumes on Instance Termination
	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination)
	// in the Amazon Elastic Compute Cloud User Guide.
	DeleteOnTermination *bool `json:"deleteOnTermination,omitempty"`

	// Indicates whether the encryption state of an EBS volume is changed while
	// being restored from a backing snapshot. The effect of setting the encryption
	// state to true depends on the volume origin (new or from a snapshot), starting
	// encryption state, ownership, and whether encryption by default is enabled.
	// For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-parameters)
	// in the Amazon Elastic Compute Cloud User Guide.
	//
	// In no case can you remove encryption from an encrypted volume.
	//
	// Encrypted volumes can only be attached to instances that support Amazon EBS
	// encryption. For more information, see Supported Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
	//
	// This parameter is not returned by .
	Encrypted *bool `json:"encrypted,omitempty"`

	// The number of I/O operations per second (IOPS) that the volume supports.
	// For io1 volumes, this represents the number of IOPS that are provisioned
	// for the volume. For gp2 volumes, this represents the baseline performance
	// of the volume and the rate at which the volume accumulates I/O credits for
	// bursting. For more information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
	// in the Amazon Elastic Compute Cloud User Guide.
	//
	// Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS
	// for io1 volumes in most Regions. Maximum io1 IOPS of 64,000 is guaranteed
	// only on Nitro-based instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
	// Other instance families guarantee performance up to 32,000 IOPS. For more
	// information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
	// in the Amazon Elastic Compute Cloud User Guide.
	//
	// Condition: This parameter is required for requests to create io1 volumes;
	// it is not used in requests to create gp2, st1, sc1, or standard volumes.
	IOps *int32 `json:"iops,omitempty"`

	// The throughput that the volume supports, in MiB/s.
	//
	// Constraints: Up to 1,000MiB/s for gp3 volumes.
	//
	// Condition: This parameter is optional and only used to create gp3 volumes;
	// it is not used in requests to create gp2, st1, sc1, io1, or standard volumes.
	Throughput *int32 `json:"throughput,omitempty"`

	// Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed
	// CMK under which the EBS volume is encrypted.
	//
	// This parameter is only supported on BlockDeviceMapping objects called by
	// RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html),
	// RequestSpotFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html),
	// and RequestSpotInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html).
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-aws/apis/kms/v1alpha1.Key
	// +crossplane:generate:reference:refFieldName=KMSKeyIDRef
	// +crossplane:generate:reference:selectorFieldName=KMSKeyIDSelector
	KmsKeyID *string `json:"kmsKeyId,omitempty"`

	// KMSKeyIDRef is a reference to a KMS Key used to set KMSKeyID.
	// +optional
	KMSKeyIDRef *xpv1.Reference `json:"kmsKeyIdRef,omitempty"`

	// KMSKeyIDSelector selects a reference to a KMS Key used to set KMSKeyID.
	// +optional
	KMSKeyIDSelector *xpv1.Selector `json:"kmsKeyIdSelector,omitempty"`

	// The ID of the snapshot.
	SnapshotID *string `json:"snapshotId,omitempty"`

	// The size of the volume, in GiB.
	//
	// Default: If you're creating the volume from a snapshot and don't specify
	// a volume size, the default is the snapshot size.
	//
	// Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned
	// IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for
	// Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify
	// a snapshot, the volume size must be equal to or larger than the snapshot
	// size.
	VolumeSize *int32 `json:"volumeSize"`

	// The volume type. If you set the type to io1, you must also specify the Iops
	// parameter. If you set the type to gp2, st1, sc1, or standard, you must omit
	// the Iops parameter.
	//
	// Default: gp2
	VolumeType string `json:"volumeType,omitempty"`
}

EBSBlockDevice describes a block device for an EBS volume.

func (*EBSBlockDevice) DeepCopy

func (in *EBSBlockDevice) DeepCopy() *EBSBlockDevice

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

func (*EBSBlockDevice) DeepCopyInto

func (in *EBSBlockDevice) DeepCopyInto(out *EBSBlockDevice)

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

type EBSInstanceBlockDevice

type EBSInstanceBlockDevice struct {
	// The time stamp when the attachment initiated.
	AttachTime *metav1.Time `json:"attachTime"`

	// Indicates whether the volume is deleted on instance termination.
	DeleteOnTermination *bool `json:"deleteOnTermination"`

	// The attachment state.
	Status string `json:"status"`

	// The ID of the EBS volume.
	VolumeID *string `json:"volumeId"`
}

EBSInstanceBlockDevice describes a parameter used to set up an EBS volume in a block device mapping.

func (*EBSInstanceBlockDevice) DeepCopy

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

func (*EBSInstanceBlockDevice) DeepCopyInto

func (in *EBSInstanceBlockDevice) DeepCopyInto(out *EBSInstanceBlockDevice)

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

type ElasticGPUAssociation

type ElasticGPUAssociation struct {
	// The ID of the association.
	ElasticGPUAssociationID *string `json:"elasticGpuAssociationId"`

	// The state of the association between the instance and the Elastic Graphics
	// accelerator.
	ElasticGPUAssociationState *string `json:"elasticGpuAssociationState"`

	// The time the Elastic Graphics accelerator was associated with the instance.
	ElasticGPUAssociationTime *string `json:"elasticGpuAssociationTime"`

	// The ID of the Elastic Graphics accelerator.
	ElasticGPUID *string `json:"elasticGpuId"`
}

ElasticGPUAssociation describes the association between an instance and an Elastic Graphics accelerator.

func (*ElasticGPUAssociation) DeepCopy

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

func (*ElasticGPUAssociation) DeepCopyInto

func (in *ElasticGPUAssociation) DeepCopyInto(out *ElasticGPUAssociation)

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

type ElasticGPUSpecification

type ElasticGPUSpecification struct {
	// The type of Elastic Graphics accelerator. For more information about the
	// values to specify for Type, see Elastic Graphics Basics (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html#elastic-graphics-basics),
	// specifically the Elastic Graphics accelerator column, in the Amazon Elastic
	// Compute Cloud User Guide for Windows Instances.
	//
	// Type is a required field
	Type *string `json:"type"`
}

ElasticGPUSpecification is a specification for an Elastic Graphics accelerator.

func (*ElasticGPUSpecification) DeepCopy

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

func (*ElasticGPUSpecification) DeepCopyInto

func (in *ElasticGPUSpecification) DeepCopyInto(out *ElasticGPUSpecification)

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

type ElasticInferenceAccelerator

type ElasticInferenceAccelerator struct {
	// The number of elastic inference accelerators to attach to the instance.
	//
	// Default: 1
	Count *int32 `json:"count,omitempty"`

	// The type of elastic inference accelerator. The possible values are eia1.medium,
	// eia1.large, and eia1.xlarge.
	//
	// Type is a required field
	Type *string `json:"type"`
}

ElasticInferenceAccelerator describes an elastic inference accelerator.

func (*ElasticInferenceAccelerator) DeepCopy

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

func (*ElasticInferenceAccelerator) DeepCopyInto

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

type ElasticInferenceAcceleratorAssociation

type ElasticInferenceAcceleratorAssociation struct {
	// The Amazon Resource Name (ARN) of the elastic inference accelerator.
	ElasticInferenceAcceleratorARN *string `json:"elasticInferenceAcceleratorArn"`

	// The ID of the association.
	ElasticInferenceAcceleratorAssociationID *string `json:"elasticInferenceAcceleratorAssociationId"`

	// The state of the elastic inference accelerator.
	ElasticInferenceAcceleratorAssociationState *string `json:"elasticInferenceAcceleratorAssociationState"`

	// The time at which the elastic inference accelerator is associated with an
	// instance.
	ElasticInferenceAcceleratorAssociationTime *metav1.Time `json:"elasticInferenceAcceleratorAssociationTime"`
}

ElasticInferenceAcceleratorAssociation describes the association between an instance and an elastic inference accelerator.

func (*ElasticInferenceAcceleratorAssociation) DeepCopy

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

func (*ElasticInferenceAcceleratorAssociation) DeepCopyInto

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

type GroupIdentifier

type GroupIdentifier struct {
	// GroupID is the security group identifier
	GroupID string `json:"groupId"`
	// GroupName is the name of the security group
	GroupName string `json:"groupName"`
}

GroupIdentifier describes a security group

func (*GroupIdentifier) DeepCopy

func (in *GroupIdentifier) DeepCopy() *GroupIdentifier

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

func (*GroupIdentifier) DeepCopyInto

func (in *GroupIdentifier) DeepCopyInto(out *GroupIdentifier)

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

type HibernationOptionsRequest

type HibernationOptionsRequest struct {
	// If you set this parameter to true, your instance is enabled for hibernation.
	//
	// Default: false
	Configured *bool `json:"configured,omitempty"`
}

HibernationOptionsRequest indicates whether your instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) in the Amazon Elastic Compute Cloud User Guide.

func (*HibernationOptionsRequest) DeepCopy

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

func (*HibernationOptionsRequest) DeepCopyInto

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

type IAMInstanceProfile

type IAMInstanceProfile struct {
	// The Amazon Resource Name (ARN) of the instance profile.
	ARN *string `json:"arn"`

	// The ID of the instance profile.
	ID *string `json:"id"`
}

IAMInstanceProfile Describes an IAM instance profile.

func (*IAMInstanceProfile) DeepCopy

func (in *IAMInstanceProfile) DeepCopy() *IAMInstanceProfile

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

func (*IAMInstanceProfile) DeepCopyInto

func (in *IAMInstanceProfile) DeepCopyInto(out *IAMInstanceProfile)

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

type IAMInstanceProfileSpecification

type IAMInstanceProfileSpecification struct {
	// The Amazon Resource Name (ARN) of the instance profile.
	// +optional
	ARN *string `json:"arn,omitempty"`

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

IAMInstanceProfileSpecification describes an IAM instance profile. Use one of 'arn' or 'name'.

func (*IAMInstanceProfileSpecification) DeepCopy

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

func (*IAMInstanceProfileSpecification) DeepCopyInto

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

type Instance

type Instance struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   InstanceSpec   `json:"spec"`
	Status InstanceStatus `json:"status,omitempty"`
}

Instance is a managed resource that represents a specified number of AWS EC2 Instance +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="STATE",type="string",JSONPath=".status.atProvider.state" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*Instance) DeepCopy

func (in *Instance) DeepCopy() *Instance

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

func (*Instance) DeepCopyInto

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

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

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

func (*Instance) GetCondition

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

GetCondition of this Instance.

func (*Instance) GetDeletionPolicy

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

GetDeletionPolicy of this Instance.

func (*Instance) GetManagementPolicies added in v0.43.0

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

GetManagementPolicies of this Instance.

func (*Instance) GetProviderConfigReference

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

GetProviderConfigReference of this Instance.

func (*Instance) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Instance.

func (*Instance) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Instance.

func (*Instance) ResolveReferences

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

ResolveReferences of this Instance.

func (*Instance) SetConditions

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

SetConditions of this Instance.

func (*Instance) SetDeletionPolicy

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

SetDeletionPolicy of this Instance.

func (*Instance) SetManagementPolicies added in v0.43.0

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

SetManagementPolicies of this Instance.

func (*Instance) SetProviderConfigReference

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

SetProviderConfigReference of this Instance.

func (*Instance) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Instance.

func (*Instance) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Instance.

type InstanceBlockDeviceMapping

type InstanceBlockDeviceMapping struct {
	// The device name (for example, /dev/sdh or xvdh).
	DeviceName *string `json:"deviceName"`

	// Parameters used to automatically set up EBS volumes when the instance is
	// launched.
	EBS *EBSInstanceBlockDevice `json:"ebs"`
}

InstanceBlockDeviceMapping describes a block device mapping.

func (*InstanceBlockDeviceMapping) DeepCopy

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

func (*InstanceBlockDeviceMapping) DeepCopyInto

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

type InstanceIPv6Address

type InstanceIPv6Address struct {
	// The IPv6 address.
	IPv6Address *string `json:"ipv6Address"`
}

InstanceIPv6Address describes an IPv6 address.

func (*InstanceIPv6Address) DeepCopy

func (in *InstanceIPv6Address) DeepCopy() *InstanceIPv6Address

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

func (*InstanceIPv6Address) DeepCopyInto

func (in *InstanceIPv6Address) DeepCopyInto(out *InstanceIPv6Address)

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

type InstanceList

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

func (in *InstanceList) DeepCopy() *InstanceList

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

func (*InstanceList) DeepCopyInto

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

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

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

func (*InstanceList) GetItems

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

GetItems of this InstanceList.

type InstanceMarketOptionsRequest

type InstanceMarketOptionsRequest struct {
	// The market type.
	MarketType string `json:"marketType"`

	// The options for Spot Instances.
	SpotOptions *SpotMarketOptions `json:"spotOptions"`
}

InstanceMarketOptionsRequest describes the market (purchasing) option for the instances.

func (*InstanceMarketOptionsRequest) DeepCopy

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

func (*InstanceMarketOptionsRequest) DeepCopyInto

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

type InstanceMetadataOptionsRequest

type InstanceMetadataOptionsRequest struct {
	// This parameter enables or disables the HTTP metadata endpoint on your instances.
	// If the parameter is not specified, the default state is enabled.
	//
	// If you specify a value of disabled, you will not be able to access your instance
	// metadata.
	// +optional
	// +kubebuilder:validation:Enum=enabled;disabled
	HTTPEndpoint string `json:"httpEndpoint"`

	// The desired HTTP PUT response hop limit for instance metadata requests. The
	// larger the number, the further instance metadata requests can travel.
	//
	// Default: 1
	//
	// Possible values: Integers from 1 to 64
	// +optional
	HTTPPutResponseHopLimit *int32 `json:"httpPutResponseHopLimit"`

	// The state of token usage for your instance metadata requests. If the parameter
	// is not specified in the request, the default state is optional.
	//
	// If the state is optional, you can choose to retrieve instance metadata with
	// or without a signed token header on your request. If you retrieve the IAM
	// role credentials without a token, the version 1.0 role credentials are returned.
	// If you retrieve the IAM role credentials using a valid signed token, the
	// version 2.0 role credentials are returned.
	//
	// If the state is required, you must send a signed token header with any instance
	// metadata retrieval requests. In this state, retrieving the IAM role credentials
	// always returns the version 2.0 credentials; the version 1.0 credentials are
	// not available.
	// +kubebuilder:validation:Enum=optional;required
	HTTPTokens string `json:"httpTokens"`
}

InstanceMetadataOptionsRequest defines the metadata options for the instance.

func (*InstanceMetadataOptionsRequest) DeepCopy

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

func (*InstanceMetadataOptionsRequest) DeepCopyInto

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

type InstanceNetworkInterface

type InstanceNetworkInterface struct {
	// The association information for an Elastic IPv4 associated with the network
	// interface.
	// +optional
	Association *InstanceNetworkInterfaceAssociation `json:"association"`

	// The network interface attachment.
	// +optional
	Attachment *InstanceNetworkInterfaceAttachment `json:"attachment"`

	// The description.
	// +optional
	Description *string `json:"description"`

	// One or more security groups.
	// +optional
	Groups []GroupIdentifier `json:"groups"`

	// Describes the type of network interface.
	//
	// Valid values: interface | efa
	// +optional
	InterfaceType *string `json:"interfaceType"`

	// One or more IPv6 addresses associated with the network interface.
	// +optional
	IPv6Addresses []InstanceIPv6Address `json:"ipv6Addresses"`

	// The MAC address.
	// +optional
	MacAddress *string `json:"macAddress"`

	// The ID of the network interface.
	// +optional
	NetworkInterfaceID *string `json:"networkInterfaceId"`

	// The ID of the AWS account that created the network interface.
	// +optional
	OwnerID *string `json:"ownerId"`

	// The private DNS name.
	// +optional
	PrivateDNSName *string `json:"privateDnsName"`

	// The IPv4 address of the network interface within the subnet.
	// +optional
	PrivateIPAddress *string `json:"privateIpAddress"`

	// One or more private IPv4 addresses associated with the network interface.
	// +optional
	PrivateIPAddresses []InstancePrivateIPAddress `json:"privateIpAddresses"`

	// Indicates whether to validate network traffic to or from this network interface.
	// +optional
	SourceDestCheck *bool `json:"sourceDestCheck"`

	// The status of the network interface.
	Status string `json:"status"`

	// The ID of the subnet.
	// +optional
	SubnetID *string `json:"subnetId"`

	// The ID of the VPC.
	// +optional
	VPCID *string `json:"vpcId"`
}

InstanceNetworkInterface describes a network interface.

func (*InstanceNetworkInterface) DeepCopy

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

func (*InstanceNetworkInterface) DeepCopyInto

func (in *InstanceNetworkInterface) DeepCopyInto(out *InstanceNetworkInterface)

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

type InstanceNetworkInterfaceAssociation

type InstanceNetworkInterfaceAssociation struct {
	// The ID of the owner of the Elastic IP address.
	// +optional
	IPOwnerID *string `json:"ipOwnerId"`

	// The public DNS name.
	// +optional
	PublicDNSName *string `json:"publicDnsName"`

	// The public IP address or Elastic IP address bound to the network interface.
	// +optional
	PublicIP *string `json:"publicIp"`
}

InstanceNetworkInterfaceAssociation describes association information for an Elastic IP address (IPv4).

func (*InstanceNetworkInterfaceAssociation) DeepCopy

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

func (*InstanceNetworkInterfaceAssociation) DeepCopyInto

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

type InstanceNetworkInterfaceAttachment

type InstanceNetworkInterfaceAttachment struct {
	// The time stamp when the attachment initiated.
	// +optional
	AttachTime *metav1.Time `json:"attachTime"`

	// The ID of the network interface attachment.
	// +optional
	AttachmentID *string `json:"attachmentId"`

	// Indicates whether the network interface is deleted when the instance is terminated.
	// +optional
	DeleteOnTermination *bool `json:"deleteOnTermination"`

	// The index of the device on the instance for the network interface attachment.
	// +optional
	DeviceIndex *int32 `json:"deviceIndex"`

	// The attachment state.
	// +optional
	Status string `json:"status"`
}

InstanceNetworkInterfaceAttachment describes a network interface attachment.

func (*InstanceNetworkInterfaceAttachment) DeepCopy

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

func (*InstanceNetworkInterfaceAttachment) DeepCopyInto

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

type InstanceNetworkInterfaceSpecification

type InstanceNetworkInterfaceSpecification struct {
	// Indicates whether to assign a public IPv4 address to an instance you launch
	// in a VPC. The public IP address can only be assigned to a network interface
	// for eth0, and can only be assigned to a new network interface, not an existing
	// one. You cannot specify more than one network interface in the request. If
	// launching into a default subnet, the default value is true.
	// +optional
	AssociatePublicIPAddress *bool `json:"associatePublicIpAddress"`

	// If set to true, the interface is deleted when the instance is terminated.
	// You can specify true only if creating a new network interface when launching
	// an instance.
	// +optional
	DeleteOnTermination *bool `json:"deleteOnTermination"`

	// The description of the network interface. Applies only if creating a network
	// interface when launching an instance.
	// +optional
	Description *string `json:"description"`

	// The position of the network interface in the attachment order. A primary
	// network interface has a device index of 0.
	//
	// If you specify a network interface when launching an instance, you must specify
	// the device index.
	DeviceIndex *int32 `json:"deviceIndex"`

	// The IDs of the security groups for the network interface. Applies only if
	// creating a network interface when launching an instance.
	Groups []string `json:"groups"`

	// The type of network interface. To create an Elastic Fabric Adapter (EFA),
	// specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)
	// in the Amazon Elastic Compute Cloud User Guide.
	//
	// If you are not creating an EFA, specify interface or omit this parameter.
	//
	// Valid values: interface | efa
	// +kubebuilder:validation:Enum=interface;efa
	InterfaceType *string `json:"interfaceType"`

	// A number of IPv6 addresses to assign to the network interface. Amazon EC2
	// chooses the IPv6 addresses from the range of the subnet. You cannot specify
	// this option and the option to assign specific IPv6 addresses in the same
	// request. You can specify this option if you've specified a minimum number
	// of instances to launch.
	// +optional
	IPv6AddressCount *int32 `json:"ipv6AddressCount"`

	// One or more IPv6 addresses to assign to the network interface. You cannot
	// specify this option and the option to assign a number of IPv6 addresses in
	// the same request. You cannot specify this option if you've specified a minimum
	// number of instances to launch.
	// +optional
	IPv6Addresses []InstanceIPv6Address `json:"ipv6Addresses"`

	// The number of IPv6 delegated prefixes to be automatically assigned to the
	// network interface. You cannot use this option if you use the Ipv6Prefix option.
	// +optional
	// +immutable
	Ipv6PrefixCount *int32 `json:"ipv6PrefixCount,omitempty"`

	// One or more IPv6 delegated prefixes to be assigned to the network interface. You
	// cannot use this option if you use the Ipv6PrefixCount option.
	// +optional
	// +immutable
	Ipv6Prefixes []Ipv6PrefixSpecificationRequest `json:"ipv6Prefixes,omitempty"`

	// The ID of the network interface.
	//
	// If you are creating a Spot Fleet, omit this parameter because you can’t
	// specify a network interface ID in a launch specification.
	// +optional
	NetworkInterfaceID *string `json:"networkInterfaceId"`

	// The private IPv4 address of the network interface. Applies only if creating
	// a network interface when launching an instance. You cannot specify this option
	// if you're launching more than one instance in a RunInstances
	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
	// request.
	// +optional
	PrivateIPAddress *string `json:"privateIpAddress"`

	// One or more private IPv4 addresses to assign to the network interface. Only
	// one private IPv4 address can be designated as primary. You cannot specify
	// this option if you're launching more than one instance in a RunInstances
	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
	// request.
	// +optional
	PrivateIPAddresses []PrivateIPAddressSpecification `json:"privateIpAddresses"`

	// The number of secondary private IPv4 addresses. You can't specify this option
	// and specify more than one private IP address using the private IP addresses
	// option. You cannot specify this option if you're launching more than one
	// instance in a RunInstances
	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
	// request.
	// +optional
	SecondaryPrivateIPAddressCount *int32 `json:"secondaryPrivateIpAddressCount"`

	// The ID of the subnet associated with the network interface. Applies only
	// if creating a network interface when launching an instance.
	// +optional
	SubnetID *string `json:"subnetId"` // TODO: we probably want to consider refs for this
}

InstanceNetworkInterfaceSpecification describes a network interface.

func (*InstanceNetworkInterfaceSpecification) DeepCopy

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

func (*InstanceNetworkInterfaceSpecification) DeepCopyInto

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

type InstanceObservation

type InstanceObservation struct {
	// +optional
	AmiLaunchIndex *int32 `json:"amiLaunchIndex,omitempty"`
	Architecture   string `json:"architecture"`
	// +optional
	BlockDeviceMapping []InstanceBlockDeviceMapping `json:"blockDeviceMapping,omitempty"`
	// +optional
	CapacityReservationID *string `json:"capacityReservationId,omitempty"`
	// +optional
	CapacityReservationSpecification *CapacityReservationSpecificationResponse `json:"capacityReservationSpecification,omitempty"`
	// +optional
	ClientToken *string `json:"clientToken,omitempty"`
	// +optional
	CPUOptons *CPUOptionsRequest `json:"cpuOptions,omitempty"`
	// +optional
	DisableAPITermination *bool `json:"disableAPITermination,omitempty"`
	// +optional
	EBSOptimized *bool `json:"ebsOptimized,omitempty"`
	// +optional
	ElasticGPUAssociations []ElasticGPUAssociation `json:"elasticGpuAssociation,omitempty"`
	// +optional
	ElasticInferenceAcceleratorAssociations []ElasticInferenceAcceleratorAssociation `json:"elasticInferenceAcceleratorAssociations,omitempty"`
	// +optional
	EnaSupport *bool `json:"enaSupport,omitempty"`
	// +optional
	HibernationOptions *HibernationOptionsRequest `json:"hibernationOptions,omitempty"`
	// +optional
	Hypervisor string `json:"hypervisor"`
	// +optional
	IAMInstanceProfile *IAMInstanceProfile `json:"iamInstanceProfile,omitempty"`
	// +optional
	ImageID *string `json:"imageId,omitempty"`
	// +optional
	InstanceID *string `json:"instanceId,omitempty"`
	// +optional
	InstanceInitiatedShutdownBehavior *string `json:"instanceInitiatedShutdownBehavior,omitempty"`
	// +optional
	InstanceLifecycle string `json:"instanceLifecyle"`
	// Supported instance family when set instanceInterruptionBehavior to hibernate
	// C3, C4, C5, M4, M5, R3, R4
	InstanceType string `json:"instanceType"`
	// +optional
	KernelID *string `json:"kernelId,omitempty"`
	// +optional
	LaunchTime *metav1.Time `json:"launchTime,omitempty"`
	// +optional
	Licenses []LicenseConfigurationRequest `json:"licenseSet,omitempty"`
	// +optional
	MetadataOptions *InstanceMetadataOptionsRequest `json:"metadataOptions,omitempty"`
	// +optional
	Monitoring *Monitoring `json:"monitoring,omitempty"`
	// +optional
	NetworkInterfaces []InstanceNetworkInterface `json:"networkInterfaces,omitempty"`
	// +optional
	OutpostARN *string `json:"outpostArn,omitempty"`
	// +optional
	Placement *Placement `json:"placement,omitempty"`
	Platform  string     `json:"platform"`
	// +optional
	PrivateDNSName *string `json:"privateDnsName,omitempty"`
	// +optional
	PrivateIPAddress *string `json:"privateIpAddress,omitempty"`
	// +optional
	ProductCodes []ProductCode `json:"productCodes,omitempty"`
	// +optional
	PublicDNSName *string `json:"publicDnsName,omitempty"`
	// +optional
	PublicIPAddress *string `json:"publicIpAddress,omitempty"`
	// +optional
	RAMDiskID *string `json:"ramDiskId,omitempty"`
	// +optional
	RootDeviceName *string `json:"ebs,omitempty"`
	RootDeviceType string  `json:"rootDeviceType"`
	// +optional
	SecurityGroups []GroupIdentifier `json:"securityGroups,omitempty"`
	// +optional
	SourceDestCheck *bool `json:"sourceDestCheck,omitempty"`
	// +optional
	SpotInstanceRequestID *string `json:"spotInstanceId,omitempty"`
	// +optional
	SriovNetSupport *string `json:"sriovNetSupport,omitempty"`
	State           string  `json:"state"`
	// +optional
	StateReason *StateReason `json:"stateReason,omitempty"`
	// +optional
	StateTransitionReason *string `json:"stateTransitionReason,omitempty"`
	// +optional
	SubnetID *string `json:"subnetId,omitempty"`
	// +optional
	Tags []Tag `json:"tags,omitempty"`
	// +optional
	UserData           *string `json:"userData,omitempty"`
	VirtualizationType string  `json:"virualizationType"`
	// +optional
	VPCID *string `json:"vpcId,omitempty"`
}

InstanceObservation keeps the state for the external resource. The below fields follow the Instance response object as closely as possible.

func (*InstanceObservation) DeepCopy

func (in *InstanceObservation) DeepCopy() *InstanceObservation

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

func (*InstanceObservation) DeepCopyInto

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

type InstanceParameters struct {
	// The block device mapping entries.
	// +optional
	BlockDeviceMappings []BlockDeviceMapping `json:"blockDeviceMappings,omitempty"`

	// Information about the Capacity Reservation targeting option. If you do not
	// specify this parameter, the instance's Capacity Reservation preference defaults
	// to open, which enables it to run in any open Capacity Reservation that has
	// matching attributes (instance type, platform, Availability Zone).
	// +optional
	CapacityReservationSpecification *CapacityReservationSpecification `json:"capacityReservationSpecification,omitempty"`

	// Unique, case-sensitive identifier you provide to ensure the idempotency of
	// the request. If you do not specify a client token, a randomly generated token
	// is used for the request to ensure idempotency.
	//
	// For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
	//
	// Constraints: Maximum 64 ASCII characters
	// +optional
	ClientToken *string `json:"clientToken,omitempty"`

	// The CPU options for the instance. For more information, see Optimizing CPU
	// Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
	// in the Amazon Elastic Compute Cloud User Guide.
	// +optional
	CPUOptions *CPUOptionsRequest `json:"cpuOptions,omitempty"`

	// The credit option for CPU usage of the burstable performance instance. Valid
	// values are standard and unlimited. To change this attribute after launch,
	// use ModifyInstanceCreditSpecification (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html).
	// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
	// in the Amazon Elastic Compute Cloud User Guide.
	//
	// Default: standard (T2 instances) or unlimited (T3/T3a instances)
	// +optional
	CreditSpecification *CreditSpecificationRequest `json:"creditSpecification,omitempty"`

	// If you set this parameter to true, you can't terminate the instance using
	// the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute
	// after launch, use ModifyInstanceAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html).
	// Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate,
	// you can terminate the instance by running the shutdown command from the instance.
	//
	// Default: false
	// +optional
	DisableAPITermination *bool `json:"disableAPITermination,omitempty"`

	// Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
	// provides dedicated throughput to Amazon EBS and an optimized configuration
	// stack to provide optimal Amazon EBS I/O performance. This optimization isn't
	// available with all instance types. Additional usage charges apply when using
	// an EBS-optimized instance.
	//
	// Default: false
	// +optional
	EBSOptimized *bool `json:"ebsOptimized,omitempty"`

	// An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource
	// that you can attach to your Windows instance to accelerate the graphics performance
	// of your applications. For more information, see Amazon EC2 Elastic GPUs (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html)
	// in the Amazon Elastic Compute Cloud User Guide.
	// +optional
	ElasticGPUSpecification []ElasticGPUSpecification `json:"ElasticGpuSpecification,omitempty"`

	// An elastic inference accelerator to associate with the instance. Elastic
	// inference accelerators are a resource you can attach to your Amazon EC2 instances
	// to accelerate your Deep Learning (DL) inference workloads.
	//
	// You cannot specify accelerators from different generations in the same request.
	// +optional
	ElasticInferenceAccelerators []ElasticInferenceAccelerator `json:"elasticInferenceAccelerators,omitempty"`

	// Indicates whether an instance is enabled for hibernation. For more information,
	// see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
	// in the Amazon Elastic Compute Cloud User Guide.
	// +optional
	HibernationOptions *HibernationOptionsRequest `json:"hibernationOptions,omitempty"`

	// The IAM instance profile.
	// +optional
	IAMInstanceProfile *IAMInstanceProfileSpecification `json:"iamInstanceProfile,omitempty"`

	// The ID of the AMI. An AMI ID is required to launch an instance and must be
	// specified here or in a launch template.
	ImageID *string `json:"imageId"`

	// Indicates whether an instance stops or terminates when you initiate shutdown
	// from the instance (using the operating system command for system shutdown).
	//
	// Default: stop
	// +optional
	InstanceInitiatedShutdownBehavior string `json:"instanceInitiatedShutdownBehavior,omitempty"`

	// The market (purchasing) option for the instances.
	//
	// For RunInstances, persistent Spot Instance requests are only supported when
	// InstanceInterruptionBehavior is set to either hibernate or stop.
	// +optional
	InstanceMarketOptions *InstanceMarketOptionsRequest `json:"instanceMarketOptions,omitempty"`

	// The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
	// in the Amazon Elastic Compute Cloud User Guide.
	//
	// Default: m1.small
	// +optional
	InstanceType string `json:"instanceType,omitempty"`

	// [EC2-VPC] The number of IPv6 addresses to associate with the primary network
	// interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
	// You cannot specify this option and the option to assign specific IPv6 addresses
	// in the same request. You can specify this option if you've specified a minimum
	// number of instances to launch.
	//
	// You cannot specify this option and the network interfaces option in the same
	// request.
	// +optional
	IPv6AddressCount *int32 `json:"ipv6AddressCount,omitempty"`

	// [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with
	// the primary network interface. You cannot specify this option and the option
	// to assign a number of IPv6 addresses in the same request. You cannot specify
	// this option if you've specified a minimum number of instances to launch.
	//
	// You cannot specify this option and the network interfaces option in the same
	// request.
	// +optional
	IPv6Addresses []InstanceIPv6Address `json:"ipv6Addresses,omitempty"`

	// The ID of the kernel.
	//
	// AWS recommends that you use PV-GRUB instead of kernels and RAM disks. For more
	// information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
	// in the Amazon Elastic Compute Cloud User Guide.
	// +optional
	KernelID *string `json:"kernelId,omitempty"`

	// The name of the key pair. You can create a key pair using CreateKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html)
	// or ImportKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html).
	//
	// If you do not specify a key pair, you can't connect to the instance unless
	// you choose an AMI that is configured to allow users another way to log in.
	// +optional
	KeyName *string `json:"keyName,omitempty"`

	// The launch template to use to launch the instances. Any parameters that you
	// specify in RunInstances override the same parameters in the launch template.
	// You can specify either the name or ID of a launch template, but not both.
	// +optional
	LaunchTemplate *LaunchTemplateSpecification `json:"launchTemplate,omitempty"`

	// The Amazon Resource Name (ARN) of the license configuration
	// +optional
	LicenseSpecifications []LicenseConfigurationRequest `json:"licenseSpecifications,omitempty"`

	// The metadata options for the instance. For more information, see Instance
	// Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html).
	// +optional
	MetadataOptions *InstanceMetadataOptionsRequest `json:"metadataOptions"`

	// Specifies whether detailed monitoring is enabled for the instance.
	// +optional
	Monitoring *RunInstancesMonitoringEnabled `json:"monitoring,omitempty"`

	// The network interfaces to associate with the instance. If you specify a network
	// interface, you must specify any security groups and subnets as part of the
	// network interface.
	// +optional
	NetworkInterfaces []InstanceNetworkInterfaceSpecification `json:"networkInterfaces,omitempty"`

	// The placement for the instance.
	// +optional
	Placement *Placement `json:"placement,omitempty"`

	// [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4
	// address range of the subnet.
	//
	// Only one private IP address can be designated as primary. You can't specify
	// this option if you've specified the option to designate a private IP address
	// as the primary IP address in a network interface specification. You cannot
	// specify this option if you're launching more than one instance in the request.
	//
	// You cannot specify this option and the network interfaces option in the same
	// request.
	// +optional
	PrivateIPAddress *string `json:"privateIpAddress,omitempty"`

	// The ID of the RAM disk to select. Some kernels require additional drivers
	// at launch. Check the kernel requirements for information about whether you
	// need to specify a RAM disk. To find kernel requirements, go to the AWS Resource
	// Center and search for the kernel ID.
	//
	// AWS recommends that you use PV-GRUB instead of kernels and RAM disks. For more
	// information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
	// in the Amazon Elastic Compute Cloud User Guide.
	// +optional
	RAMDiskID *string `json:"ramDiskId,omitempty"`

	// Region is the region you'd like your Instance to be created in.
	Region *string `json:"region"`

	// The IDs of the security groups. You can create a security group using CreateSecurityGroup
	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html).
	//
	// If you specify a network interface, you must specify any security groups
	// as part of the network interface.
	// +optional
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-aws/apis/ec2/v1beta1.SecurityGroup
	// +crossplane:generate:reference:refFieldName=SecurityGroupRefs
	// +crossplane:generate:reference:selectorFieldName=SecurityGroupSelector
	SecurityGroupIDs []string `json:"securityGroupIds,omitempty"`

	// SecurityGroupsRefs is a list of references to SecurityGroups used to set
	// the SecurityGroupIDs.
	// +optional
	SecurityGroupRefs []xpv1.Reference `json:"securityGroupRefs,omitempty"`

	// SecurityGroupsSelector selects references to SecurityGroups used
	// to set the SecurityGroupIDs.
	// +optional
	SecurityGroupSelector *xpv1.Selector `json:"securityGroupSelector,omitempty"`

	// [EC2-VPC] The ID of the subnet to launch the instance into.
	//
	// If you specify a network interface, you must specify any subnets as part
	// of the network interface.
	// +optional
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-aws/apis/ec2/v1beta1.Subnet
	SubnetID *string `json:"subnetId,omitempty"`

	// SubnetIDRef is a reference to a Subnet used to set the SubnetID.
	// +optional
	SubnetIDRef *xpv1.Reference `json:"subnetIdRef,omitempty"`

	// SubnetIDSelector selects a reference to a Subnet used to set the SubnetID.
	// +optional
	SubnetIDSelector *xpv1.Selector `json:"subnetIdSelector,omitempty"`

	// Tags are used as identification helpers between AWS resources.
	// +optional
	Tags []Tag `json:"tags,omitempty"`

	// The tags to apply to the resources during launch. You can only tag instances
	// and volumes on launch. The specified tags are applied to all instances or
	// volumes that are created during launch. To tag a resource after it has been
	// created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
	// +immutable
	// +optional
	TagSpecifications []TagSpecification `json:"tagSpecifications,omitempty"`

	// The user data to make available to the instance. For more information, see
	// Running Commands on Your Linux Instance at Launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
	// (Linux) and Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
	// (Windows). If you are using a command line tool, base64-encoding is performed
	// for you, and you can load the text from a file. Otherwise, you must provide
	// base64-encoded text. User data is limited to 16 KB.
	// +optional
	// +kubebuilder:validation:Pattern=`^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$`
	UserData *string `json:"userData,omitempty"`
}

InstanceParameters define the desired state of the Instances

func (*InstanceParameters) DeepCopy

func (in *InstanceParameters) DeepCopy() *InstanceParameters

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

func (*InstanceParameters) DeepCopyInto

func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters)

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

type InstancePrivateIPAddress

type InstancePrivateIPAddress struct {
	// The association information for an Elastic IP address for the network interface.
	Association *InstanceNetworkInterfaceAssociation `json:"association"`

	// Indicates whether this IPv4 address is the primary private IP address of
	// the network interface.
	Primary *bool `json:"primary"`

	// The private IPv4 DNS name.
	PrivateDNSName *string `json:"privateDnsName"`

	// The private IPv4 address of the network interface.
	PrivateIPAddress *string `json:"privateIpAddress"`
}

InstancePrivateIPAddress describes a private IPv4 address.

func (*InstancePrivateIPAddress) DeepCopy

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

func (*InstancePrivateIPAddress) DeepCopyInto

func (in *InstancePrivateIPAddress) DeepCopyInto(out *InstancePrivateIPAddress)

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

type InstanceSpec

type InstanceSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       InstanceParameters `json:"forProvider"`
}

An InstanceSpec defines the desired state of Instances.

func (*InstanceSpec) DeepCopy

func (in *InstanceSpec) DeepCopy() *InstanceSpec

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

func (*InstanceSpec) DeepCopyInto

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

type InstanceStatus struct {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          InstanceObservation `json:"atProvider,omitempty"`
}

An InstanceStatus represents the observed state of Instances.

func (*InstanceStatus) DeepCopy

func (in *InstanceStatus) DeepCopy() *InstanceStatus

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

func (*InstanceStatus) DeepCopyInto

func (in *InstanceStatus) DeepCopyInto(out *InstanceStatus)

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

type Ipv6PrefixSpecificationRequest added in v0.42.0

type Ipv6PrefixSpecificationRequest struct {
	// The IPv6 prefix.
	// +immutable
	// +kubebuilder:validation:Required
	Ipv6Prefix string `json:"ipv6Prefix"`
}

Ipv6PrefixSpecificationRequest describes the IPv4 prefix option for a network interface.

func (*Ipv6PrefixSpecificationRequest) DeepCopy added in v0.42.0

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

func (*Ipv6PrefixSpecificationRequest) DeepCopyInto added in v0.42.0

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

type LaunchTemplateSpecification

type LaunchTemplateSpecification struct {
	// The ID of the launch template.
	LaunchTemplateID *string `json:"launchTemplateId"`

	// The name of the launch template.
	LaunchTemplateName *string `json:"launchTemplateName"`

	// The version number of the launch template.
	//
	// Default: The default version for the launch template.
	// +optional
	Version *string `json:"version"`
}

LaunchTemplateSpecification defines the launch template to use. You must specify either the launch template ID or launch template name in the request, but not both.

func (*LaunchTemplateSpecification) DeepCopy

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

func (*LaunchTemplateSpecification) DeepCopyInto

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

type LicenseConfigurationRequest

type LicenseConfigurationRequest struct {
	// Amazon Resource Name (ARN) of the license configuration
	LicenseConfigurationARN *string `json:"licenseConfigurationArn"`
}

LicenseConfigurationRequest describes a license configuration

func (*LicenseConfigurationRequest) DeepCopy

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

func (*LicenseConfigurationRequest) DeepCopyInto

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

type Monitoring

type Monitoring struct {
	// Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
	// is enabled.
	State string `json:"state"`
}

Monitoring describes the monitoring of an instance.

func (*Monitoring) DeepCopy

func (in *Monitoring) DeepCopy() *Monitoring

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

func (*Monitoring) DeepCopyInto

func (in *Monitoring) DeepCopyInto(out *Monitoring)

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

type Placement

type Placement struct {
	// The affinity setting for the instance on the Dedicated Host. This parameter
	// is not supported for the ImportInstance
	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html)
	// command.
	//
	// This parameter is not supported by CreateFleet
	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
	// +optional
	Affinity *string `json:"affinity,omitempty"`

	// The Availability Zone of the instance.
	//
	// If not specified, an Availability Zone will be automatically chosen for you
	// based on the load balancing criteria for the Region.
	//
	// This parameter is not supported by CreateFleet
	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
	// +optional
	AvailabilityZone *string `json:"availabilityZone,omitempty"`

	// The name of the placement group the instance is in.
	GroupName *string `json:"groupName"`

	// The ID of the Dedicated Host on which the instance resides. This parameter
	// is not supported for the ImportInstance
	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html)
	// command.
	//
	// This parameter is not supported by CreateFleet
	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
	// +optional
	HostID *string `json:"hostId,omitempty"`

	// The ARN of the host resource group in which to launch the instances. If you
	// specify a host resource group ARN, omit the Tenancy parameter or set it to
	// host.
	//
	// This parameter is not supported by CreateFleet
	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
	// +optional
	HostResourceGroupARN *string `json:"hostResourceGroupArn,omitempty"`

	// The number of the partition the instance is in. Valid only if the placement
	// group strategy is set to partition.
	//
	// This parameter is not supported by CreateFleet
	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
	// +optional
	PartitionNumber *int32 `json:"partitionNumber,omitempty"`

	// Reserved for future use.
	//
	// This parameter is not supported by CreateFleet
	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
	// +optional
	SpreadDomain *string `json:"spreadDomain,omitempty"`

	// The 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 ImportInstance
	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html)
	// command.
	//
	// This parameter is not supported by CreateFleet
	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
	// +optional
	Tenancy string `json:"tenancy,omitempty"`
}

Placement describes the placement of an instance.

func (*Placement) DeepCopy

func (in *Placement) DeepCopy() *Placement

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

func (*Placement) DeepCopyInto

func (in *Placement) DeepCopyInto(out *Placement)

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

type PrivateIPAddressSpecification

type PrivateIPAddressSpecification struct {
	// Indicates whether the private IPv4 address is the primary private IPv4 address.
	// Only one IPv4 address can be designated as primary.
	// +optional
	Primary *bool `json:"primary"`

	// The private IPv4 addresses.
	PrivateIPAddress *string `json:"privateIPAddress"`
}

PrivateIPAddressSpecification describes a secondary private IPv4 address for a network interface.

func (*PrivateIPAddressSpecification) DeepCopy

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

func (*PrivateIPAddressSpecification) DeepCopyInto

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

type ProductCode

type ProductCode struct {
	// The product code.
	ProductCodeID *string `json:"productCodeId"`

	// The type of product code.
	ProductCodeType string `json:"productCodeType"`
}

ProductCode describes a product code.

func (*ProductCode) DeepCopy

func (in *ProductCode) DeepCopy() *ProductCode

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

func (*ProductCode) DeepCopyInto

func (in *ProductCode) DeepCopyInto(out *ProductCode)

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

type RunInstancesMonitoringEnabled

type RunInstancesMonitoringEnabled struct {
	// Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
	// is enabled.
	//
	// Enabled is a required field
	Enabled *bool `json:"enabled"`
}

RunInstancesMonitoringEnabled describes the monitoring of an instance.

func (*RunInstancesMonitoringEnabled) DeepCopy

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

func (*RunInstancesMonitoringEnabled) DeepCopyInto

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

type SecurityGroupRule added in v0.30.0

type SecurityGroupRule struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SecurityGroupRuleSpec   `json:"spec"`
	Status SecurityGroupRuleStatus `json:"status,omitempty"`
}

A SecurityGroupRule is a managed resource that represents an SecurityGroupRule +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="SG",type="string",JSONPath=".spec.forProvider.securityGroupId" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*SecurityGroupRule) DeepCopy added in v0.30.0

func (in *SecurityGroupRule) DeepCopy() *SecurityGroupRule

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

func (*SecurityGroupRule) DeepCopyInto added in v0.30.0

func (in *SecurityGroupRule) DeepCopyInto(out *SecurityGroupRule)

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

func (*SecurityGroupRule) DeepCopyObject added in v0.30.0

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

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

func (*SecurityGroupRule) GetCondition added in v0.30.0

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

GetCondition of this SecurityGroupRule.

func (*SecurityGroupRule) GetDeletionPolicy added in v0.30.0

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

GetDeletionPolicy of this SecurityGroupRule.

func (*SecurityGroupRule) GetManagementPolicies added in v0.43.0

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

GetManagementPolicies of this SecurityGroupRule.

func (*SecurityGroupRule) GetProviderConfigReference added in v0.30.0

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

GetProviderConfigReference of this SecurityGroupRule.

func (*SecurityGroupRule) GetPublishConnectionDetailsTo added in v0.30.0

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

GetPublishConnectionDetailsTo of this SecurityGroupRule.

func (*SecurityGroupRule) GetWriteConnectionSecretToReference added in v0.30.0

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

GetWriteConnectionSecretToReference of this SecurityGroupRule.

func (*SecurityGroupRule) ResolveReferences added in v0.30.0

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

ResolveReferences of this SecurityGroupRule.

func (*SecurityGroupRule) SetConditions added in v0.30.0

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

SetConditions of this SecurityGroupRule.

func (*SecurityGroupRule) SetDeletionPolicy added in v0.30.0

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

SetDeletionPolicy of this SecurityGroupRule.

func (*SecurityGroupRule) SetManagementPolicies added in v0.43.0

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

SetManagementPolicies of this SecurityGroupRule.

func (*SecurityGroupRule) SetProviderConfigReference added in v0.30.0

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

SetProviderConfigReference of this SecurityGroupRule.

func (*SecurityGroupRule) SetPublishConnectionDetailsTo added in v0.30.0

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

SetPublishConnectionDetailsTo of this SecurityGroupRule.

func (*SecurityGroupRule) SetWriteConnectionSecretToReference added in v0.30.0

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

SetWriteConnectionSecretToReference of this SecurityGroupRule.

type SecurityGroupRuleList added in v0.30.0

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

SecurityGroupRuleList contains a list of SecurityGroupRules

func (*SecurityGroupRuleList) DeepCopy added in v0.30.0

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

func (*SecurityGroupRuleList) DeepCopyInto added in v0.30.0

func (in *SecurityGroupRuleList) DeepCopyInto(out *SecurityGroupRuleList)

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

func (*SecurityGroupRuleList) DeepCopyObject added in v0.30.0

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

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

func (*SecurityGroupRuleList) GetItems added in v0.30.0

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

GetItems of this SecurityGroupRuleList.

type SecurityGroupRuleObservation added in v0.30.0

type SecurityGroupRuleObservation struct {
	// The association ID for the SecurityGroupRule block.
	SecurityGroupRuleID *string `json:"SecurityGroupRuleId,omitempty"`
}

SecurityGroupRuleObservation keeps the state for the external resource

func (*SecurityGroupRuleObservation) DeepCopy added in v0.30.0

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

func (*SecurityGroupRuleObservation) DeepCopyInto added in v0.30.0

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

type SecurityGroupRuleParameters added in v0.30.0

type SecurityGroupRuleParameters struct {

	// +kubebuilder:validation:Required
	FromPort *int32 `json:"fromPort"`

	// +kubebuilder:validation:Required
	ToPort *int32 `json:"toPort"`

	// Type of rule, ingress (inbound) or egress (outbound).
	// +kubebuilder:validation:Required
	Type *string `json:"type"`

	// +kubebuilder:validation:Required
	Protocol *string `json:"protocol"`

	// +kubebuilder:validation:Optional
	CidrBlock *string `json:"cidrBlock,omitempty"`

	// +kubebuilder:validation:Optional
	Ipv6CidrBlock *string `json:"ipv6cidrBlock,omitempty"`

	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty"`

	// +kubebuilder:validation:Optional
	PrefixListID *string `json:"prefixListId,omitempty"`

	// Region is the region you'd like your resource to be created in.
	// +kubebuilder:validation:Required
	Region *string `json:"region"`

	// If using a SecurityGroup managed by crossplane as reference,
	// enable ignoreIngress or ignoreEgress on the sg to prevent the
	// rules to be constantly created and deleted
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-aws/apis/ec2/v1beta1.SecurityGroup
	// +kubebuilder:validation:Optional
	// +immutable
	SecurityGroupID *string `json:"securityGroupId,omitempty"`

	// If using a SecurityGroup managed by crossplane as reference,
	// enable ignoreIngress or ignoreEgress on the sg to prevent the
	// rules to be constantly created and deleted
	// +kubebuilder:validation:Optional
	// +immutable
	SecurityGroupIDRef *xpv1.Reference `json:"securityGroupIdRef,omitempty"`

	// +kubebuilder:validation:Optional
	// +immutable
	SecurityGroupIDSelector *xpv1.Selector `json:"securityGroupIdSelector,omitempty"`

	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-aws/apis/ec2/v1beta1.SecurityGroup
	// +kubebuilder:validation:Optional
	SourceSecurityGroupID *string `json:"sourceSecurityGroupId,omitempty"`

	// +kubebuilder:validation:Optional
	SourceSecurityGroupIDRef *xpv1.Reference `json:"sourceSecurityGroupIdRef,omitempty"`

	// +kubebuilder:validation:Optional
	SourceSecurityGroupIDSelector *xpv1.Selector `json:"sourceSecurityGroupIdSelector,omitempty"`
}

SecurityGroupRuleParameters define the desired state of the SecurityGroupRule

func (*SecurityGroupRuleParameters) DeepCopy added in v0.30.0

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

func (*SecurityGroupRuleParameters) DeepCopyInto added in v0.30.0

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

type SecurityGroupRuleSpec added in v0.30.0

type SecurityGroupRuleSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       SecurityGroupRuleParameters `json:"forProvider"`
}

A SecurityGroupRuleSpec defines the desired state of a SecurityGroupRule.

func (*SecurityGroupRuleSpec) DeepCopy added in v0.30.0

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

func (*SecurityGroupRuleSpec) DeepCopyInto added in v0.30.0

func (in *SecurityGroupRuleSpec) DeepCopyInto(out *SecurityGroupRuleSpec)

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

type SecurityGroupRuleState added in v0.30.0

type SecurityGroupRuleState struct {

	// The state of the SecurityGroupRule block.
	State *string `json:"state,omitempty"`

	// A message about the status of the SecurityGroupRule block, if applicable.
	StatusMessage *string `json:"statusMessage,omitempty"`
}

SecurityGroupRuleState represents the state of a SecurityGroupRule Block

func (*SecurityGroupRuleState) DeepCopy added in v0.30.0

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

func (*SecurityGroupRuleState) DeepCopyInto added in v0.30.0

func (in *SecurityGroupRuleState) DeepCopyInto(out *SecurityGroupRuleState)

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

type SecurityGroupRuleStatus added in v0.30.0

type SecurityGroupRuleStatus struct {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          SecurityGroupRuleObservation `json:"atProvider,omitempty"`
}

A SecurityGroupRuleStatus represents the observed state of a SecurityGroupRule.

func (*SecurityGroupRuleStatus) DeepCopy added in v0.30.0

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

func (*SecurityGroupRuleStatus) DeepCopyInto added in v0.30.0

func (in *SecurityGroupRuleStatus) DeepCopyInto(out *SecurityGroupRuleStatus)

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

type SpotMarketOptions

type SpotMarketOptions struct {
	// The required duration for the Spot Instances (also known as Spot blocks),
	// in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
	// or 360).
	// +optional
	BlockDurationMinutes *int32 `json:"blockDurationMinutes,omitempty"`

	// The behavior when a Spot Instance is interrupted. The default is terminate.
	// +kubebuilder:validation:Enum=hibernate;stop;terminate
	InstanceInterruptionBehavior string `json:"instanceInterruptionBehavior"`

	// The maximum hourly price you're willing to pay for the Spot Instances. The
	// default is the On-Demand price.
	// +optional
	MaxPrice *string `json:"maxPrice,omitempty"`

	// The Spot Instance request type. For RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances),
	// persistent Spot Instance requests are only supported when InstanceInterruptionBehavior
	// is set to either hibernate or stop.
	// +kubebuilder:validation:Enum=one-time;persistent
	SpotInstanceType string `json:"spotInstanceType"`

	// The end date of the request. For a one-time request, the request remains
	// active until all instances launch, the request is canceled, or this date
	// is reached. If the request is persistent, it remains active until it is canceled
	// or this date and time is reached. The default end date is 7 days from the
	// current date.
	// Must be in UTC format (YYYY-MM-DDTHH:MM:SSZ)
	// +optional
	ValidUntil *metav1.Time `json:"validUntil,omitempty"`
}

SpotMarketOptions are the options for Spot Instances.

func (*SpotMarketOptions) DeepCopy

func (in *SpotMarketOptions) DeepCopy() *SpotMarketOptions

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

func (*SpotMarketOptions) DeepCopyInto

func (in *SpotMarketOptions) DeepCopyInto(out *SpotMarketOptions)

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

type StateReason

type StateReason struct {
	// The reason code for the state change.
	Code *string `json:"code"`

	// The message for the state change.
	//
	//    * Server.InsufficientInstanceCapacity: There was insufficient capacity
	//    available to satisfy the launch request.
	//
	//    * Server.InternalError: An internal error caused the instance to terminate
	//    during launch.
	//
	//    * Server.ScheduledStop: The instance was stopped due to a scheduled retirement.
	//
	//    * Server.SpotInstanceShutdown: The instance was stopped because the number
	//    of Spot requests with a maximum price equal to or higher than the Spot
	//    price exceeded available capacity or because of an increase in the Spot
	//    price.
	//
	//    * Server.SpotInstanceTermination: The instance was terminated because
	//    the number of Spot requests with a maximum price equal to or higher than
	//    the Spot price exceeded available capacity or because of an increase in
	//    the Spot price.
	//
	//    * Client.InstanceInitiatedShutdown: The instance was shut down using the
	//    shutdown -h command from the instance.
	//
	//    * Client.InstanceTerminated: The instance was terminated or rebooted during
	//    AMI creation.
	//
	//    * Client.InternalError: A client error caused the instance to terminate
	//    during launch.
	//
	//    * Client.InvalidSnapshot.NotFound: The specified snapshot was not found.
	//
	//    * Client.UserInitiatedHibernate: Hibernation was initiated on the instance.
	//
	//    * Client.UserInitiatedShutdown: The instance was shut down using the Amazon
	//    EC2 API.
	//
	//    * Client.VolumeLimitExceeded: The limit on the number of EBS volumes or
	//    total storage was exceeded. Decrease usage or request an increase in your
	//    account limits.
	Message *string `json:"message"`
}

StateReason describes a state change.

func (*StateReason) DeepCopy

func (in *StateReason) DeepCopy() *StateReason

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

func (*StateReason) DeepCopyInto

func (in *StateReason) DeepCopyInto(out *StateReason)

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

type Tag

type Tag struct {
	// Key is the name of the tag.
	Key string `json:"key"`

	// Value is the value of the tag.
	Value string `json:"value"`
}

Tag defines a tag

func (*Tag) DeepCopy

func (in *Tag) DeepCopy() *Tag

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

func (*Tag) DeepCopyInto

func (in *Tag) DeepCopyInto(out *Tag)

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

type TagSpecification

type TagSpecification struct {
	// The type of resource to tag. Currently, the resource types that support tagging
	// on creation are: capacity-reservation | client-vpn-endpoint | dedicated-host
	// | fleet | fpga-image | instance | ipv4pool-ec2 | ipv6pool-ec2 | key-pair
	// | launch-template | natgateway | spot-fleet-request | placement-group | snapshot
	// | traffic-mirror-filter | traffic-mirror-session | traffic-mirror-target
	// | transit-gateway | transit-gateway-attachment | transit-gateway-route-table
	// | vpc-endpoint (for interface VPC endpoints)| vpc-endpoint-service (for gateway
	// VPC endpoints) | volume | vpc-flow-log.
	//
	// To tag a resource after it has been created, see CreateTags
	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
	//
	// +kubebuilder:validation:Enum=capacity-reservation;client-vpn-endpoint;dedicated-host;fleet;fpga-image;instance;ipv4pool-ec2;ipv6pool-ec2;key-pair;launch-template;natgateway;spot-fleet-request;placement-group;snapshot;traffic-mirror-filter;traffic-mirror-session;traffic-mirror-target;transit-gateway;transit-gateway-attachment;transit-gateway-route-table;vpc-endpoint;vpc-endpoint-service;volume;vpc-flow-log
	ResourceType *string `json:"resourceType"`

	// The tags to apply to the resource
	Tags []Tag `json:"tags"`
}

TagSpecification defines the tags to apply to a resource when the resource is being created.

func (*TagSpecification) DeepCopy

func (in *TagSpecification) DeepCopy() *TagSpecification

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

func (*TagSpecification) DeepCopyInto

func (in *TagSpecification) DeepCopyInto(out *TagSpecification)

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

type VPCCIDRBlock

type VPCCIDRBlock struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   VPCCIDRBlockSpec   `json:"spec"`
	Status VPCCIDRBlockStatus `json:"status,omitempty"`
}

A VPCCIDRBlock is a managed resource that represents an secondary CIDR block for a VPC +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="ID",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="CIDR",type="string",JSONPath=".status.atProvider.cidrBlock" +kubebuilder:printcolumn:name="IPv6CIDR",type="string",JSONPath=".status.atProvider.ipv6CIDRBlock" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws} +kubebuilder:deprecatedversion:warning="Please use v1beta1 version of this resource that has identical schema." Deprecated: Please use v1beta1 version of this resource.

func (*VPCCIDRBlock) DeepCopy

func (in *VPCCIDRBlock) DeepCopy() *VPCCIDRBlock

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

func (*VPCCIDRBlock) DeepCopyInto

func (in *VPCCIDRBlock) DeepCopyInto(out *VPCCIDRBlock)

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

func (*VPCCIDRBlock) DeepCopyObject

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

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

func (*VPCCIDRBlock) GetCondition

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

GetCondition of this VPCCIDRBlock.

func (*VPCCIDRBlock) GetDeletionPolicy

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

GetDeletionPolicy of this VPCCIDRBlock.

func (*VPCCIDRBlock) GetManagementPolicies added in v0.43.0

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

GetManagementPolicies of this VPCCIDRBlock.

func (*VPCCIDRBlock) GetProviderConfigReference

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

GetProviderConfigReference of this VPCCIDRBlock.

func (*VPCCIDRBlock) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this VPCCIDRBlock.

func (*VPCCIDRBlock) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this VPCCIDRBlock.

func (*VPCCIDRBlock) SetConditions

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

SetConditions of this VPCCIDRBlock.

func (*VPCCIDRBlock) SetDeletionPolicy

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

SetDeletionPolicy of this VPCCIDRBlock.

func (*VPCCIDRBlock) SetManagementPolicies added in v0.43.0

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

SetManagementPolicies of this VPCCIDRBlock.

func (*VPCCIDRBlock) SetProviderConfigReference

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

SetProviderConfigReference of this VPCCIDRBlock.

func (*VPCCIDRBlock) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this VPCCIDRBlock.

func (*VPCCIDRBlock) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this VPCCIDRBlock.

type VPCCIDRBlockList

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

VPCCIDRBlockList contains a list of VPCCIDRBlocks +kubebuilder:deprecatedversion:warning="Please use v1beta1 version of this resource that has identical schema." Deprecated: Please use v1beta1 version of this resource.

func (*VPCCIDRBlockList) DeepCopy

func (in *VPCCIDRBlockList) DeepCopy() *VPCCIDRBlockList

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

func (*VPCCIDRBlockList) DeepCopyInto

func (in *VPCCIDRBlockList) DeepCopyInto(out *VPCCIDRBlockList)

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

func (*VPCCIDRBlockList) DeepCopyObject

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

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

func (*VPCCIDRBlockList) GetItems

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

GetItems of this VPCCIDRBlockList.

type VPCCIDRBlockObservation

type VPCCIDRBlockObservation struct {
	// The association ID for the CIDR block.
	AssociationID *string `json:"associationId,omitempty"`

	// The IPv4 CIDR block.
	CIDRBlock *string `json:"cidrBlock,omitempty"`

	// The IPv6 CIDR block.
	IPv6CIDRBlock *string `json:"ipv6CidrBlock,omitempty"`

	// Information about the state of the CIDR block.
	IPv6CIDRBlockState *VPCCIDRBlockState `json:"ipv6CidrrBlockState,omitempty"`

	// The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.
	IPv6Pool *string `json:"ipv6Pool,omitempty"`

	// The name of the location from which we advertise the IPV6 CIDR block.
	NetworkBorderGroup *string `json:"networkBorderGroup,omitempty"`

	// Information about the state of the CIDR block.
	CIDRBlockState *VPCCIDRBlockState `json:"cidrBlockState,omitempty"`
}

VPCCIDRBlockObservation keeps the state for the external resource

func (*VPCCIDRBlockObservation) DeepCopy

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

func (*VPCCIDRBlockObservation) DeepCopyInto

func (in *VPCCIDRBlockObservation) DeepCopyInto(out *VPCCIDRBlockObservation)

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

type VPCCIDRBlockParameters

type VPCCIDRBlockParameters struct {
	// Region is the region you'd like your VPC CIDR to be created in.
	Region string `json:"region"`

	// Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
	// the VPC. You cannot specify the range of IPv6 addresses, or the size of the
	// CIDR block.
	// +immutable
	// +optional
	AmazonProvidedIPv6CIDRBlock *bool `json:"amazonProvidedIpv6CidrBlock,omitempty"`

	// An IPv4 CIDR block to associate with the VPC.
	// +immutable
	// +optional
	CIDRBlock *string `json:"cidrBlock,omitempty"`

	// An IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool
	// in the request.
	//
	// To let Amazon choose the IPv6 CIDR block for you, omit this parameter.
	// +immutable
	// +optional
	IPv6CIDRBlock *string `json:"ipv6CdirBlock,omitempty"`

	// The name of the location from which we advertise the IPV6 CIDR block. Use
	// this parameter to limit the CiDR block to this location.
	//
	// You must set AmazonProvidedIpv6CIDRBlock to true to use this parameter.
	//
	// You can have one IPv6 CIDR block association per network border group.
	// +immutable
	// +optional
	IPv6CIDRBlockNetworkBorderGroup *string `json:"ipv6CidrBlockNetworkBorderGroup,omitempty"`

	// The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.
	// +immutable
	// +optional
	IPv6Pool *string `json:"ipv6Pool,omitempty"`

	// VPCID is the ID of the VPC.
	// +optional
	VPCID *string `json:"vpcId,omitempty"`

	// VPCIDRef references a VPC to and retrieves its vpcId
	// +optional
	VPCIDRef *xpv1.Reference `json:"vpcIdRef,omitempty"`

	// VPCIDSelector selects a reference to a VPC to and retrieves its vpcId
	// +optional
	VPCIDSelector *xpv1.Selector `json:"vpcIdSelector,omitempty"`
}

VPCCIDRBlockParameters define the desired state of an VPC CIDR Block

func (*VPCCIDRBlockParameters) DeepCopy

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

func (*VPCCIDRBlockParameters) DeepCopyInto

func (in *VPCCIDRBlockParameters) DeepCopyInto(out *VPCCIDRBlockParameters)

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

type VPCCIDRBlockSpec

type VPCCIDRBlockSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       VPCCIDRBlockParameters `json:"forProvider"`
}

A VPCCIDRBlockSpec defines the desired state of a VPCCIDRBlock.

func (*VPCCIDRBlockSpec) DeepCopy

func (in *VPCCIDRBlockSpec) DeepCopy() *VPCCIDRBlockSpec

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

func (*VPCCIDRBlockSpec) DeepCopyInto

func (in *VPCCIDRBlockSpec) DeepCopyInto(out *VPCCIDRBlockSpec)

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

type VPCCIDRBlockState

type VPCCIDRBlockState struct {

	// The state of the CIDR block.
	State *string `json:"state,omitempty"`

	// A message about the status of the CIDR block, if applicable.
	StatusMessage *string `json:"statusMessage,omitempty"`
}

VPCCIDRBlockState represents the state of a CIDR Block

func (*VPCCIDRBlockState) DeepCopy

func (in *VPCCIDRBlockState) DeepCopy() *VPCCIDRBlockState

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

func (*VPCCIDRBlockState) DeepCopyInto

func (in *VPCCIDRBlockState) DeepCopyInto(out *VPCCIDRBlockState)

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

type VPCCIDRBlockStatus

type VPCCIDRBlockStatus struct {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          VPCCIDRBlockObservation `json:"atProvider,omitempty"`
}

A VPCCIDRBlockStatus represents the observed state of a ElasticIP.

func (*VPCCIDRBlockStatus) DeepCopy

func (in *VPCCIDRBlockStatus) DeepCopy() *VPCCIDRBlockStatus

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

func (*VPCCIDRBlockStatus) DeepCopyInto

func (in *VPCCIDRBlockStatus) DeepCopyInto(out *VPCCIDRBlockStatus)

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