Documentation ¶
Index ¶
- Constants
- Variables
- func CompareGroupIDs(groupIDs []string, ec2Groups []types.GroupIdentifier) bool
- func CompareGroupNames(groupNames []string, ec2Groups []types.GroupIdentifier) bool
- func CompareTags(tags []Tag, ec2Tags []types.Tag) bool
- func GenerateEC2Tags(tags []Tag) []types.Tag
- func SortTags(tags []Tag, ec2Tags []types.Tag)
- type BlockDeviceMapping
- type CPUOptionsRequest
- type CapacityReservationSpecification
- type CapacityReservationSpecificationResponse
- type CapacityReservationTarget
- type CreditSpecificationRequest
- type EBSBlockDevice
- type EBSInstanceBlockDevice
- type ElasticGPUAssociation
- type ElasticGPUSpecification
- type ElasticInferenceAccelerator
- type ElasticInferenceAcceleratorAssociation
- type GroupIdentifier
- type HibernationOptionsRequest
- type IAMInstanceProfile
- type IAMInstanceProfileSpecification
- type Instance
- func (in *Instance) DeepCopy() *Instance
- func (in *Instance) DeepCopyInto(out *Instance)
- func (in *Instance) DeepCopyObject() runtime.Object
- func (mg *Instance) GetCondition(ct xpv1.ConditionType) xpv1.Condition
- func (mg *Instance) GetDeletionPolicy() xpv1.DeletionPolicy
- func (mg *Instance) GetProviderConfigReference() *xpv1.Reference
- func (mg *Instance) GetProviderReference() *xpv1.Reference
- func (mg *Instance) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
- func (mg *Instance) GetWriteConnectionSecretToReference() *xpv1.SecretReference
- func (mg *Instance) ResolveReferences(ctx context.Context, c client.Reader) error
- func (mg *Instance) SetConditions(c ...xpv1.Condition)
- func (mg *Instance) SetDeletionPolicy(r xpv1.DeletionPolicy)
- func (mg *Instance) SetProviderConfigReference(r *xpv1.Reference)
- func (mg *Instance) SetProviderReference(r *xpv1.Reference)
- func (mg *Instance) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
- func (mg *Instance) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
- type InstanceBlockDeviceMapping
- type InstanceIPv6Address
- type InstanceList
- type InstanceMarketOptionsRequest
- type InstanceMetadataOptionsRequest
- type InstanceNetworkInterface
- type InstanceNetworkInterfaceAssociation
- type InstanceNetworkInterfaceAttachment
- type InstanceNetworkInterfaceSpecification
- type InstanceObservation
- type InstanceParameters
- type InstancePrivateIPAddress
- type InstanceSpec
- type InstanceStatus
- type LaunchTemplateSpecification
- type LicenseConfigurationRequest
- type Monitoring
- type Placement
- type PrivateIPAddressSpecification
- type ProductCode
- type RunInstancesMonitoringEnabled
- type SpotMarketOptions
- type StateReason
- type Tag
- type TagSpecification
- type VPCCIDRBlock
- func (in *VPCCIDRBlock) DeepCopy() *VPCCIDRBlock
- func (in *VPCCIDRBlock) DeepCopyInto(out *VPCCIDRBlock)
- func (in *VPCCIDRBlock) DeepCopyObject() runtime.Object
- func (mg *VPCCIDRBlock) GetCondition(ct xpv1.ConditionType) xpv1.Condition
- func (mg *VPCCIDRBlock) GetDeletionPolicy() xpv1.DeletionPolicy
- func (mg *VPCCIDRBlock) GetProviderConfigReference() *xpv1.Reference
- func (mg *VPCCIDRBlock) GetProviderReference() *xpv1.Reference
- func (mg *VPCCIDRBlock) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
- func (mg *VPCCIDRBlock) GetWriteConnectionSecretToReference() *xpv1.SecretReference
- func (mg *VPCCIDRBlock) SetConditions(c ...xpv1.Condition)
- func (mg *VPCCIDRBlock) SetDeletionPolicy(r xpv1.DeletionPolicy)
- func (mg *VPCCIDRBlock) SetProviderConfigReference(r *xpv1.Reference)
- func (mg *VPCCIDRBlock) SetProviderReference(r *xpv1.Reference)
- func (mg *VPCCIDRBlock) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
- func (mg *VPCCIDRBlock) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
- type VPCCIDRBlockList
- type VPCCIDRBlockObservation
- type VPCCIDRBlockParameters
- type VPCCIDRBlockSpec
- type VPCCIDRBlockState
- type VPCCIDRBlockStatus
Constants ¶
const ( Group = "ec2.aws.crossplane.io" Version = "v1alpha1" )
Package type metadata.
Variables ¶
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} )
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.
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 ¶
func CompareGroupIDs ¶
func CompareGroupIDs(groupIDs []string, ec2Groups []types.GroupIdentifier) bool
CompareGroupIDs compares slices of group IDs and ec2.GroupIdentifier
func CompareGroupNames ¶
func CompareGroupNames(groupNames []string, ec2Groups []types.GroupIdentifier) bool
CompareGroupNames compares slices of group names and ec2.GroupIdentifier
func CompareTags ¶
CompareTags compares arrays of manualv1alpha1.Tag and ec2.Tag
func GenerateEC2Tags ¶
GenerateEC2Tags generates a tag array with type that EC2 client expects.
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 ¶
func (in *CapacityReservationSpecification) DeepCopy() *CapacityReservationSpecification
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityReservationSpecification.
func (*CapacityReservationSpecification) DeepCopyInto ¶
func (in *CapacityReservationSpecification) DeepCopyInto(out *CapacityReservationSpecification)
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 ¶
func (in *CapacityReservationSpecificationResponse) DeepCopy() *CapacityReservationSpecificationResponse
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityReservationSpecificationResponse.
func (*CapacityReservationSpecificationResponse) DeepCopyInto ¶
func (in *CapacityReservationSpecificationResponse) DeepCopyInto(out *CapacityReservationSpecificationResponse)
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 ¶
func (in *CapacityReservationTarget) DeepCopy() *CapacityReservationTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityReservationTarget.
func (*CapacityReservationTarget) DeepCopyInto ¶
func (in *CapacityReservationTarget) DeepCopyInto(out *CapacityReservationTarget)
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 ¶
func (in *CreditSpecificationRequest) DeepCopy() *CreditSpecificationRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CreditSpecificationRequest.
func (*CreditSpecificationRequest) DeepCopyInto ¶
func (in *CreditSpecificationRequest) DeepCopyInto(out *CreditSpecificationRequest)
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"` // 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 ¶
func (in *EBSInstanceBlockDevice) DeepCopy() *EBSInstanceBlockDevice
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 ¶
func (in *ElasticGPUAssociation) DeepCopy() *ElasticGPUAssociation
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 ¶
func (in *ElasticGPUSpecification) DeepCopy() *ElasticGPUSpecification
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 ¶
func (in *ElasticInferenceAccelerator) DeepCopy() *ElasticInferenceAccelerator
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticInferenceAccelerator.
func (*ElasticInferenceAccelerator) DeepCopyInto ¶
func (in *ElasticInferenceAccelerator) DeepCopyInto(out *ElasticInferenceAccelerator)
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 ¶
func (in *ElasticInferenceAcceleratorAssociation) DeepCopy() *ElasticInferenceAcceleratorAssociation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticInferenceAcceleratorAssociation.
func (*ElasticInferenceAcceleratorAssociation) DeepCopyInto ¶
func (in *ElasticInferenceAcceleratorAssociation) DeepCopyInto(out *ElasticInferenceAcceleratorAssociation)
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 ¶
func (in *HibernationOptionsRequest) DeepCopy() *HibernationOptionsRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HibernationOptionsRequest.
func (*HibernationOptionsRequest) DeepCopyInto ¶
func (in *HibernationOptionsRequest) DeepCopyInto(out *HibernationOptionsRequest)
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 ¶
func (in *IAMInstanceProfileSpecification) DeepCopy() *IAMInstanceProfileSpecification
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IAMInstanceProfileSpecification.
func (*IAMInstanceProfileSpecification) DeepCopyInto ¶
func (in *IAMInstanceProfileSpecification) DeepCopyInto(out *IAMInstanceProfileSpecification)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Instance.
func (*Instance) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Instance) DeepCopyObject ¶
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) GetProviderConfigReference ¶
GetProviderConfigReference of this Instance.
func (*Instance) GetProviderReference ¶
GetProviderReference of this Instance. Deprecated: Use GetProviderConfigReference.
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 ¶
ResolveReferences of this Instance.
func (*Instance) SetConditions ¶
SetConditions of this Instance.
func (*Instance) SetDeletionPolicy ¶
func (mg *Instance) SetDeletionPolicy(r xpv1.DeletionPolicy)
SetDeletionPolicy of this Instance.
func (*Instance) SetProviderConfigReference ¶
SetProviderConfigReference of this Instance.
func (*Instance) SetProviderReference ¶
SetProviderReference of this Instance. Deprecated: Use SetProviderConfigReference.
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 ¶
func (in *InstanceBlockDeviceMapping) DeepCopy() *InstanceBlockDeviceMapping
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceBlockDeviceMapping.
func (*InstanceBlockDeviceMapping) DeepCopyInto ¶
func (in *InstanceBlockDeviceMapping) DeepCopyInto(out *InstanceBlockDeviceMapping)
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 ¶
func (in *InstanceMarketOptionsRequest) DeepCopy() *InstanceMarketOptionsRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceMarketOptionsRequest.
func (*InstanceMarketOptionsRequest) DeepCopyInto ¶
func (in *InstanceMarketOptionsRequest) DeepCopyInto(out *InstanceMarketOptionsRequest)
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 ¶
func (in *InstanceMetadataOptionsRequest) DeepCopy() *InstanceMetadataOptionsRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceMetadataOptionsRequest.
func (*InstanceMetadataOptionsRequest) DeepCopyInto ¶
func (in *InstanceMetadataOptionsRequest) DeepCopyInto(out *InstanceMetadataOptionsRequest)
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 ¶
func (in *InstanceNetworkInterface) DeepCopy() *InstanceNetworkInterface
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 ¶
func (in *InstanceNetworkInterfaceAssociation) DeepCopy() *InstanceNetworkInterfaceAssociation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceNetworkInterfaceAssociation.
func (*InstanceNetworkInterfaceAssociation) DeepCopyInto ¶
func (in *InstanceNetworkInterfaceAssociation) DeepCopyInto(out *InstanceNetworkInterfaceAssociation)
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 ¶
func (in *InstanceNetworkInterfaceAttachment) DeepCopy() *InstanceNetworkInterfaceAttachment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceNetworkInterfaceAttachment.
func (*InstanceNetworkInterfaceAttachment) DeepCopyInto ¶
func (in *InstanceNetworkInterfaceAttachment) DeepCopyInto(out *InstanceNetworkInterfaceAttachment)
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 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 ¶
func (in *InstanceNetworkInterfaceSpecification) DeepCopy() *InstanceNetworkInterfaceSpecification
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceNetworkInterfaceSpecification.
func (*InstanceNetworkInterfaceSpecification) DeepCopyInto ¶
func (in *InstanceNetworkInterfaceSpecification) DeepCopyInto(out *InstanceNetworkInterfaceSpecification)
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 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 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"` 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 ¶
func (in *InstancePrivateIPAddress) DeepCopy() *InstancePrivateIPAddress
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 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 ¶
func (in *LaunchTemplateSpecification) DeepCopy() *LaunchTemplateSpecification
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateSpecification.
func (*LaunchTemplateSpecification) DeepCopyInto ¶
func (in *LaunchTemplateSpecification) DeepCopyInto(out *LaunchTemplateSpecification)
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 ¶
func (in *LicenseConfigurationRequest) DeepCopy() *LicenseConfigurationRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LicenseConfigurationRequest.
func (*LicenseConfigurationRequest) DeepCopyInto ¶
func (in *LicenseConfigurationRequest) DeepCopyInto(out *LicenseConfigurationRequest)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Placement.
func (*Placement) DeepCopyInto ¶
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 ¶
func (in *PrivateIPAddressSpecification) DeepCopy() *PrivateIPAddressSpecification
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateIPAddressSpecification.
func (*PrivateIPAddressSpecification) DeepCopyInto ¶
func (in *PrivateIPAddressSpecification) DeepCopyInto(out *PrivateIPAddressSpecification)
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 ¶
func (in *RunInstancesMonitoringEnabled) DeepCopy() *RunInstancesMonitoringEnabled
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RunInstancesMonitoringEnabled.
func (*RunInstancesMonitoringEnabled) DeepCopyInto ¶
func (in *RunInstancesMonitoringEnabled) DeepCopyInto(out *RunInstancesMonitoringEnabled)
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 BuildFromEC2Tags ¶
BuildFromEC2Tags returns a list of tags, off of the given ec2 tags
func (*Tag) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tag.
func (*Tag) DeepCopyInto ¶
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) GetProviderConfigReference ¶
func (mg *VPCCIDRBlock) GetProviderConfigReference() *xpv1.Reference
GetProviderConfigReference of this VPCCIDRBlock.
func (*VPCCIDRBlock) GetProviderReference ¶
func (mg *VPCCIDRBlock) GetProviderReference() *xpv1.Reference
GetProviderReference of this VPCCIDRBlock. Deprecated: Use GetProviderConfigReference.
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) SetProviderConfigReference ¶
func (mg *VPCCIDRBlock) SetProviderConfigReference(r *xpv1.Reference)
SetProviderConfigReference of this VPCCIDRBlock.
func (*VPCCIDRBlock) SetProviderReference ¶
func (mg *VPCCIDRBlock) SetProviderReference(r *xpv1.Reference)
SetProviderReference of this VPCCIDRBlock. Deprecated: Use SetProviderConfigReference.
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 ¶
func (in *VPCCIDRBlockObservation) DeepCopy() *VPCCIDRBlockObservation
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 ¶
func (in *VPCCIDRBlockParameters) DeepCopy() *VPCCIDRBlockParameters
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.