Documentation ¶
Overview ¶
Package v1alpha3 contains API Schema definitions for the eks controlplane v1alpha3 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io
Index ¶
- Constants
- Variables
- type ASGStatus
- type AWSLaunchTemplate
- type AWSMachinePool
- func (in *AWSMachinePool) DeepCopy() *AWSMachinePool
- func (in *AWSMachinePool) DeepCopyInto(out *AWSMachinePool)
- func (in *AWSMachinePool) DeepCopyObject() runtime.Object
- func (r *AWSMachinePool) Default()
- func (r *AWSMachinePool) GetConditions() clusterv1.Conditions
- func (r *AWSMachinePool) GetObjectKind() schema.ObjectKind
- func (r *AWSMachinePool) SetConditions(conditions clusterv1.Conditions)
- func (r *AWSMachinePool) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *AWSMachinePool) ValidateCreate() error
- func (r *AWSMachinePool) ValidateDelete() error
- func (r *AWSMachinePool) ValidateUpdate(old runtime.Object) error
- type AWSMachinePoolList
- type AWSMachinePoolSpec
- type AWSMachinePoolStatus
- type AWSManagedCluster
- type AWSManagedClusterList
- type AWSManagedClusterSpec
- type AWSManagedClusterStatus
- type AWSManagedMachinePool
- func (in *AWSManagedMachinePool) DeepCopy() *AWSManagedMachinePool
- func (in *AWSManagedMachinePool) DeepCopyInto(out *AWSManagedMachinePool)
- func (in *AWSManagedMachinePool) DeepCopyObject() runtime.Object
- func (r *AWSManagedMachinePool) Default()
- func (r *AWSManagedMachinePool) GetConditions() clusterv1.Conditions
- func (r *AWSManagedMachinePool) SetConditions(conditions clusterv1.Conditions)
- func (r *AWSManagedMachinePool) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *AWSManagedMachinePool) ValidateCreate() error
- func (r *AWSManagedMachinePool) ValidateDelete() error
- func (r *AWSManagedMachinePool) ValidateUpdate(old runtime.Object) error
- type AWSManagedMachinePoolList
- type AWSManagedMachinePoolSpec
- type AWSManagedMachinePoolStatus
- type AutoScalingGroup
- type BlockDeviceMapping
- type EBS
- type InstancesDistribution
- type ManagedMachineAMIType
- type ManagedMachinePoolScaling
- type ManagedRemoteAccess
- type MixedInstancesPolicy
- type OnDemandAllocationStrategy
- type Overrides
- type SpotAllocationStrategy
- type Tags
Constants ¶
const ( MachinePoolFinalizer = "awsmachinepool.infrastructure.cluster.x-k8s.io" LaunchTemplateLatestVersion = "$Latest" )
const ( // ASGReadyCondition reports on current status of the autoscaling group. Ready indicates the group is provisioned ASGReadyCondition clusterv1.ConditionType = "ASGReady" // ASGNotFoundReason used when the autoscaling group couldn't be retrieved. ASGNotFoundReason = "ASGNotFound" // ASGProvisionFailedReason used for failures during autoscaling group provisioning. ASGProvisionFailedReason = "ASGProvisionFailed" // ASGDeletionInProgress ASG is in a deletion in progress state. ASGDeletionInProgress = "ASGDeletionInProgress" // LaunchTemplateReadyCondition represents the status of an AWSMachinePool's associated Launch Template LaunchTemplateReadyCondition clusterv1.ConditionType = "LaunchTemplateReady" // LaunchTemplateNotFoundReason is used when an associated Launch Template can't be found LaunchTemplateNotFoundReason = "LaunchTemplateNotFound" // LaunchTemplateCreateFailedReason used for failures during Launch Template creation LaunchTemplateCreateFailedReason = "LaunchTemplateCreateFailed" )
const ( // EKSNodegroupReadyCondition condition reports on the successful reconciliation of eks control plane. EKSNodegroupReadyCondition clusterv1.ConditionType = "EKSNodegroupReady" // EKSNodegroupReconciliationFailedReason used to report failures while reconciling EKS control plane EKSNodegroupReconciliationFailedReason = "EKSNodegroupReconciliationFailed" // WaitingForEKSControlPlaneReason used when the machine pool is waiting for // EKS control plane infrastructure to be ready before proceeding. WaitingForEKSControlPlaneReason = "WaitingForEKSControlPlane" )
const ( // IAMNodegroupRolesReadyCondition condition reports on the successful // reconciliation of EKS nodegroup iam roles. IAMNodegroupRolesReadyCondition clusterv1.ConditionType = "IAMNodegroupRolesReady" // IAMNodegroupRolesReconciliationFailedReason used to report failures while // reconciling EKS nodegroup iam roles IAMNodegroupRolesReconciliationFailedReason = "IAMNodegroupRolesReconciliationFailed" )
const (
// ManagedMachinePoolFinalizer allows the controller to clean up resources on delete
ManagedMachinePoolFinalizer = "awsmanagedmachinepools.infrastructure.cluster.x-k8s.io"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1alpha3"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var ( // SpotAllocationStrategyLowestPrice will make the Auto Scaling group launch // instances using the Spot pools with the lowest price, and evenly allocates // your instances across the number of Spot pools that you specify SpotAllocationStrategyLowestPrice = SpotAllocationStrategy("lowest-price") // SpotAllocationStrategyCapacityOptimized will make the Auto Scaling group launch // instances using Spot pools that are optimally chosen based on the available Spot capacity SpotAllocationStrategyCapacityOptimized = SpotAllocationStrategy("capacity-optimized") )
var ( // ASGStatusDeleteInProgress is the string representing an ASG that is currently deleting ASGStatusDeleteInProgress = ASGStatus("Delete in progress") )
var ( // DefaultEKSNodegroupRole is the name of the default IAM role to use for EKS nodegroups // if no other role is supplied in the spec and if iam role creation is not enabled. The default // can be created using clusterawsadm or created manually DefaultEKSNodegroupRole = fmt.Sprintf("eks-nodegroup%s", infrav1.DefaultNameSuffix) )
var ( // OnDemandAllocationStrategyPrioritized uses the order of instance type overrides // for the LaunchTemplate to define the launch priority of each instance type OnDemandAllocationStrategyPrioritized = OnDemandAllocationStrategy("prioritized") )
Functions ¶
This section is empty.
Types ¶
type ASGStatus ¶ added in v0.6.1
type ASGStatus string
ASGStatus is a status string returned by the autoscaling API
type AWSLaunchTemplate ¶ added in v0.6.1
type AWSLaunchTemplate struct { // The ID of the launch template. ID string `json:"id,omitempty"` // The name of the launch template. Name string `json:"name,omitempty"` // The name or the Amazon Resource Name (ARN) of the instance profile associated // with the IAM role for the instance. The instance profile contains the IAM // role. IamInstanceProfile string `json:"iamInstanceProfile,omitempty"` // AMI is the reference to the AMI from which to create the machine instance. // +optional AMI infrav1.AWSResourceReference `json:"ami,omitempty"` // ImageLookupFormat is the AMI naming format to look up the image for this // machine It will be ignored if an explicit AMI is set. Supports // substitutions for {{.BaseOS}} and {{.K8sVersion}} with the base OS and // kubernetes version, respectively. The BaseOS will be the value in // ImageLookupBaseOS or ubuntu (the default), and the kubernetes version as // defined by the packages produced by kubernetes/release without v as a // prefix: 1.13.0, 1.12.5-mybuild.1, or 1.17.3. For example, the default // image format of capa-ami-{{.BaseOS}}-?{{.K8sVersion}}-* will end up // searching for AMIs that match the pattern capa-ami-ubuntu-?1.18.0-* for a // Machine that is targeting kubernetes v1.18.0 and the ubuntu base OS. See // also: https://golang.org/pkg/text/template/ // +optional ImageLookupFormat string `json:"imageLookupFormat,omitempty"` // ImageLookupOrg is the AWS Organization ID to use for image lookup if AMI is not set. ImageLookupOrg string `json:"imageLookupOrg,omitempty"` // ImageLookupBaseOS is the name of the base operating system to use for // image lookup the AMI is not set. ImageLookupBaseOS string `json:"imageLookupBaseOS,omitempty"` // InstanceType is the type of instance to create. Example: m4.xlarge InstanceType string `json:"instanceType,omitempty"` // RootVolume encapsulates the configuration options for the root volume // +optional RootVolume *infrav1.Volume `json:"rootVolume,omitempty"` // SSHKeyName is the name of the ssh key to attach to the instance. Valid values are empty string //(do not use SSH keys), a valid SSH key name, or omitted (use the default SSH key name) // +optional SSHKeyName *string `json:"sshKeyName,omitempty"` // VersionNumber is the version of the launch template that is applied. // Typically a new version is created when at least one of the following happens: // 1) A new launch template spec is applied. // 2) One or more parameters in an existing template is changed. // 3) A new AMI is discovered. VersionNumber *int64 `json:"versionNumber,omitempty"` // AdditionalSecurityGroups is an array of references to security groups that should be applied to the // instances. These security groups would be set in addition to any security groups defined // at the cluster level or in the actuator. // +optional AdditionalSecurityGroups []infrav1.AWSResourceReference `json:"additionalSecurityGroups,omitempty"` }
AwsLaunchTemplate defines the desired state of AWSLaunchTemplate
func (*AWSLaunchTemplate) DeepCopy ¶ added in v0.6.1
func (in *AWSLaunchTemplate) DeepCopy() *AWSLaunchTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSLaunchTemplate.
func (*AWSLaunchTemplate) DeepCopyInto ¶ added in v0.6.1
func (in *AWSLaunchTemplate) DeepCopyInto(out *AWSLaunchTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSMachinePool ¶ added in v0.6.1
type AWSMachinePool struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AWSMachinePoolSpec `json:"spec,omitempty"` Status AWSMachinePoolStatus `json:"status,omitempty"` }
AWSMachinePool is the Schema for the awsmachinepools API
func (*AWSMachinePool) DeepCopy ¶ added in v0.6.1
func (in *AWSMachinePool) DeepCopy() *AWSMachinePool
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSMachinePool.
func (*AWSMachinePool) DeepCopyInto ¶ added in v0.6.1
func (in *AWSMachinePool) DeepCopyInto(out *AWSMachinePool)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AWSMachinePool) DeepCopyObject ¶ added in v0.6.1
func (in *AWSMachinePool) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*AWSMachinePool) Default ¶ added in v0.6.1
func (r *AWSMachinePool) Default()
Default will set default values for the AWSMachinePool
func (*AWSMachinePool) GetConditions ¶ added in v0.6.1
func (r *AWSMachinePool) GetConditions() clusterv1.Conditions
func (*AWSMachinePool) GetObjectKind ¶ added in v0.6.1
func (r *AWSMachinePool) GetObjectKind() schema.ObjectKind
func (*AWSMachinePool) SetConditions ¶ added in v0.6.1
func (r *AWSMachinePool) SetConditions(conditions clusterv1.Conditions)
func (*AWSMachinePool) SetupWebhookWithManager ¶ added in v0.6.1
func (r *AWSMachinePool) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the webhooks for the AWSMachinePool
func (*AWSMachinePool) ValidateCreate ¶ added in v0.6.1
func (r *AWSMachinePool) ValidateCreate() error
ValidateCreate will do any extra validation when creating a AWSMachinePool
func (*AWSMachinePool) ValidateDelete ¶ added in v0.6.1
func (r *AWSMachinePool) ValidateDelete() error
ValidateDelete allows you to add any extra validation when deleting
func (*AWSMachinePool) ValidateUpdate ¶ added in v0.6.1
func (r *AWSMachinePool) ValidateUpdate(old runtime.Object) error
ValidateUpdate will do any extra validation when updating a AWSMachinePool
type AWSMachinePoolList ¶ added in v0.6.1
type AWSMachinePoolList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []AWSMachinePool `json:"items"` }
AWSMachinePoolList contains a list of AWSMachinePool
func (*AWSMachinePoolList) DeepCopy ¶ added in v0.6.1
func (in *AWSMachinePoolList) DeepCopy() *AWSMachinePoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSMachinePoolList.
func (*AWSMachinePoolList) DeepCopyInto ¶ added in v0.6.1
func (in *AWSMachinePoolList) DeepCopyInto(out *AWSMachinePoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AWSMachinePoolList) DeepCopyObject ¶ added in v0.6.1
func (in *AWSMachinePoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*AWSMachinePoolList) GetObjectKind ¶ added in v0.6.1
func (r *AWSMachinePoolList) GetObjectKind() schema.ObjectKind
type AWSMachinePoolSpec ¶ added in v0.6.1
type AWSMachinePoolSpec struct { // ProviderID is the ARN of the associated ASG // +optional ProviderID string `json:"providerID,omitempty"` // The minimum size of the group. // +kubebuilder:default=1 // +kubebuilder:validation:Minimum=1 MinSize int32 `json:"minSize"` // The maximum size of the group. // +kubebuilder:default=1 // +kubebuilder:validation:Minimum=1 MaxSize int32 `json:"maxSize"` // AvailabilityZones is an array of availability zones instances can run in AvailabilityZones []string `json:"availabilityZones,omitempty"` // Subnets is an array of subnet configurations Subnets []infrav1.AWSResourceReference `json:"subnets,omitempty"` // AdditionalTags is an optional set of tags to add to an instance, in addition to the ones added by default by the // AWS provider. // +optional AdditionalTags infrav1.Tags `json:"additionalTags,omitempty"` // AWSLaunchTemplate specifies the launch template and version to use when an instance is launched. // +kubebuilder:validation:Required AWSLaunchTemplate AWSLaunchTemplate `json:"awsLaunchTemplate"` // MixedInstancesPolicy describes how multiple instance types will be used by the ASG. MixedInstancesPolicy *MixedInstancesPolicy `json:"mixedInstancesPolicy,omitempty"` // ProviderIDList are the identification IDs of machine instances provided by the provider. // This field must match the provider IDs as seen on the node objects corresponding to a machine pool's machine instances. // +optional ProviderIDList []string `json:"providerIDList,omitempty"` // The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. // If no value is supplied by user a default value of 300 seconds is set // +optional DefaultCoolDown metav1.Duration `json:"defaultCoolDown,omitempty"` }
AWSMachinePoolSpec defines the desired state of AWSMachinePool
func (*AWSMachinePoolSpec) DeepCopy ¶ added in v0.6.1
func (in *AWSMachinePoolSpec) DeepCopy() *AWSMachinePoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSMachinePoolSpec.
func (*AWSMachinePoolSpec) DeepCopyInto ¶ added in v0.6.1
func (in *AWSMachinePoolSpec) DeepCopyInto(out *AWSMachinePoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSMachinePoolStatus ¶ added in v0.6.1
type AWSMachinePoolStatus struct { // Ready is true when the provider resource is ready. // +optional Ready bool `json:"ready"` // Replicas is the most recently observed number of replicas // +optional Replicas int32 `json:"replicas"` // Conditions defines current service state of the AWSMachinePool. // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` // The ID of the launch template LaunchTemplateID string `json:"launchTemplateID,omitempty"` // FailureReason will be set in the event that there is a terminal problem // reconciling the Machine and will contain a succinct value suitable // for machine interpretation. // // This field should not be set for transitive errors that a controller // faces that are expected to be fixed automatically over // time (like service outages), but instead indicate that something is // fundamentally wrong with the Machine's spec or the configuration of // the controller, and that manual intervention is required. Examples // of terminal errors would be invalid combinations of settings in the // spec, values that are unsupported by the controller, or the // responsible controller itself being critically misconfigured. // // Any transient errors that occur during the reconciliation of Machines // can be added as events to the Machine object and/or logged in the // controller's output. // +optional FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"` // FailureMessage will be set in the event that there is a terminal problem // reconciling the Machine and will contain a more verbose string suitable // for logging and human consumption. // // This field should not be set for transitive errors that a controller // faces that are expected to be fixed automatically over // time (like service outages), but instead indicate that something is // fundamentally wrong with the Machine's spec or the configuration of // the controller, and that manual intervention is required. Examples // of terminal errors would be invalid combinations of settings in the // spec, values that are unsupported by the controller, or the // responsible controller itself being critically misconfigured. // // Any transient errors that occur during the reconciliation of Machines // can be added as events to the Machine object and/or logged in the // controller's output. // +optional FailureMessage *string `json:"failureMessage,omitempty"` ASGStatus *ASGStatus `json:"asgStatus,omitempty"` }
AWSMachinePoolStatus defines the observed state of AWSMachinePool
func (*AWSMachinePoolStatus) DeepCopy ¶ added in v0.6.1
func (in *AWSMachinePoolStatus) DeepCopy() *AWSMachinePoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSMachinePoolStatus.
func (*AWSMachinePoolStatus) DeepCopyInto ¶ added in v0.6.1
func (in *AWSMachinePoolStatus) DeepCopyInto(out *AWSMachinePoolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSManagedCluster ¶
type AWSManagedCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AWSManagedClusterSpec `json:"spec,omitempty"` Status AWSManagedClusterStatus `json:"status,omitempty"` }
AWSManagedCluster is the Schema for the awsmanagedclusters API
func (*AWSManagedCluster) DeepCopy ¶
func (in *AWSManagedCluster) DeepCopy() *AWSManagedCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSManagedCluster.
func (*AWSManagedCluster) DeepCopyInto ¶
func (in *AWSManagedCluster) DeepCopyInto(out *AWSManagedCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AWSManagedCluster) DeepCopyObject ¶
func (in *AWSManagedCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AWSManagedClusterList ¶
type AWSManagedClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []AWSManagedCluster `json:"items"` }
AWSManagedClusterList contains a list of AWSManagedCluster
func (*AWSManagedClusterList) DeepCopy ¶
func (in *AWSManagedClusterList) DeepCopy() *AWSManagedClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSManagedClusterList.
func (*AWSManagedClusterList) DeepCopyInto ¶
func (in *AWSManagedClusterList) DeepCopyInto(out *AWSManagedClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AWSManagedClusterList) DeepCopyObject ¶
func (in *AWSManagedClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AWSManagedClusterSpec ¶
type AWSManagedClusterSpec struct { // ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. // +optional ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"` }
AWSManagedClusterSpec defines the desired state of AWSManagedCluster
func (*AWSManagedClusterSpec) DeepCopy ¶
func (in *AWSManagedClusterSpec) DeepCopy() *AWSManagedClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSManagedClusterSpec.
func (*AWSManagedClusterSpec) DeepCopyInto ¶
func (in *AWSManagedClusterSpec) DeepCopyInto(out *AWSManagedClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSManagedClusterStatus ¶
type AWSManagedClusterStatus struct { // Ready is when the AWSManagedControlPlane has a API server URL. // +optional Ready bool `json:"ready,omitempty"` // FailureDomains specifies a list fo available availability zones that can be used // +optional FailureDomains clusterv1.FailureDomains `json:"failureDomains,omitempty"` }
AWSManagedClusterStatus defines the observed state of AWSManagedCluster
func (*AWSManagedClusterStatus) DeepCopy ¶
func (in *AWSManagedClusterStatus) DeepCopy() *AWSManagedClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSManagedClusterStatus.
func (*AWSManagedClusterStatus) DeepCopyInto ¶
func (in *AWSManagedClusterStatus) DeepCopyInto(out *AWSManagedClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSManagedMachinePool ¶ added in v0.6.1
type AWSManagedMachinePool struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AWSManagedMachinePoolSpec `json:"spec,omitempty"` Status AWSManagedMachinePoolStatus `json:"status,omitempty"` }
AWSManagedMachinePool is the Schema for the awsmanagedmachinepools API
func (*AWSManagedMachinePool) DeepCopy ¶ added in v0.6.1
func (in *AWSManagedMachinePool) DeepCopy() *AWSManagedMachinePool
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSManagedMachinePool.
func (*AWSManagedMachinePool) DeepCopyInto ¶ added in v0.6.1
func (in *AWSManagedMachinePool) DeepCopyInto(out *AWSManagedMachinePool)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AWSManagedMachinePool) DeepCopyObject ¶ added in v0.6.1
func (in *AWSManagedMachinePool) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*AWSManagedMachinePool) Default ¶ added in v0.6.1
func (r *AWSManagedMachinePool) Default()
Default will set default values for the AWSManagedMachinePool
func (*AWSManagedMachinePool) GetConditions ¶ added in v0.6.1
func (r *AWSManagedMachinePool) GetConditions() clusterv1.Conditions
func (*AWSManagedMachinePool) SetConditions ¶ added in v0.6.1
func (r *AWSManagedMachinePool) SetConditions(conditions clusterv1.Conditions)
func (*AWSManagedMachinePool) SetupWebhookWithManager ¶ added in v0.6.1
func (r *AWSManagedMachinePool) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the webhooks for the AWSManagedMachinePool
func (*AWSManagedMachinePool) ValidateCreate ¶ added in v0.6.1
func (r *AWSManagedMachinePool) ValidateCreate() error
ValidateCreate will do any extra validation when creating a AWSManagedMachinePool
func (*AWSManagedMachinePool) ValidateDelete ¶ added in v0.6.1
func (r *AWSManagedMachinePool) ValidateDelete() error
ValidateDelete allows you to add any extra validation when deleting
func (*AWSManagedMachinePool) ValidateUpdate ¶ added in v0.6.1
func (r *AWSManagedMachinePool) ValidateUpdate(old runtime.Object) error
ValidateUpdate will do any extra validation when updating a AWSManagedMachinePool
type AWSManagedMachinePoolList ¶ added in v0.6.1
type AWSManagedMachinePoolList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []AWSManagedMachinePool `json:"items"` }
AWSManagedMachinePoolList contains a list of AWSManagedMachinePools
func (*AWSManagedMachinePoolList) DeepCopy ¶ added in v0.6.1
func (in *AWSManagedMachinePoolList) DeepCopy() *AWSManagedMachinePoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSManagedMachinePoolList.
func (*AWSManagedMachinePoolList) DeepCopyInto ¶ added in v0.6.1
func (in *AWSManagedMachinePoolList) DeepCopyInto(out *AWSManagedMachinePoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AWSManagedMachinePoolList) DeepCopyObject ¶ added in v0.6.1
func (in *AWSManagedMachinePoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AWSManagedMachinePoolSpec ¶ added in v0.6.1
type AWSManagedMachinePoolSpec struct { // EKSNodegroupName specifies the name of the nodegroup in AWS // corresponding to this MachinePool. If you don't specify a name // then a default name will be created based on the namespace and // name of the managed machine pool. // +optional EKSNodegroupName string `json:"eksNodegroupName,omitempty"` // SubnetIDs specifies which subnets are used for the // auto scaling group of this nodegroup // +optional SubnetIDs []string `json:"subnetIDs,omitempty"` // AdditionalTags is an optional set of tags to add to AWS resources managed by the AWS provider, in addition to the // ones added by default. // +optional AdditionalTags infrav1.Tags `json:"additionalTags,omitempty"` // RoleName specifies the name of IAM role for the node group. // If the role is pre-existing we will treat it as unmanaged // and not delete it on deletion. If the EKSEnableIAM feature // flag is true and no name is supplied then a role is created. // +optional RoleName string `json:"roleName,omitempty"` // AMIVersion defines the desired AMI release version. If no version number // is supplied then the latest version for the Kubernetes version // will be used // +kubebuilder:validation:MinLength:=2 // +optional AMIVersion *string `json:"amiVersion,omitempty"` // AMIType defines the AMI type // +kubebuilder:validation:Enum:=AL2_x86_64;AL2_x86_64_GPU;AL2_ARM_64 // +kubebuilder:default:=AL2_x86_64 // +optional AMIType *ManagedMachineAMIType `json:"amiType,omitempty"` // Labels specifies labels for the Kubernetes node objects // +optional Labels map[string]string `json:"labels,omitempty"` // DiskSize specifies the root disk size // +optional DiskSize *int32 `json:"diskSize,omitempty"` // InstanceType specifies the AWS instance type // +optional InstanceType *string `json:"instanceType,omitempty"` // Scaling specifies scaling for the ASG behind this pool // +optional Scaling *ManagedMachinePoolScaling `json:"scaling,omitempty"` // RemoteAccess specifies how machines can be accessed remotely // +optional RemoteAccess *ManagedRemoteAccess `json:"remoteAccess,omitempty"` // ProviderIDList are the provider IDs of instances in the // autoscaling group corresponding to the nodegroup represented by this // machine pool // +optional ProviderIDList []string `json:"providerIDList,omitempty"` }
AWSManagedMachinePoolSpec defines the desired state of AWSManagedMachinePool
func (*AWSManagedMachinePoolSpec) DeepCopy ¶ added in v0.6.1
func (in *AWSManagedMachinePoolSpec) DeepCopy() *AWSManagedMachinePoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSManagedMachinePoolSpec.
func (*AWSManagedMachinePoolSpec) DeepCopyInto ¶ added in v0.6.1
func (in *AWSManagedMachinePoolSpec) DeepCopyInto(out *AWSManagedMachinePoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSManagedMachinePoolStatus ¶ added in v0.6.1
type AWSManagedMachinePoolStatus struct { // Ready denotes that the AWSManagedMachinePool nodegroup has joined // the cluster // +kubebuilder:default=false Ready bool `json:"ready"` // Replicas is the most recently observed number of replicas. // +optional Replicas int32 `json:"replicas"` // FailureReason will be set in the event that there is a terminal problem // reconciling the MachinePool and will contain a succinct value suitable // for machine interpretation. // // This field should not be set for transitive errors that a controller // faces that are expected to be fixed automatically over // time (like service outages), but instead indicate that something is // fundamentally wrong with the Machine's spec or the configuration of // the controller, and that manual intervention is required. Examples // of terminal errors would be invalid combinations of settings in the // spec, values that are unsupported by the controller, or the // responsible controller itself being critically misconfigured. // // Any transient errors that occur during the reconciliation of MachinePools // can be added as events to the MachinePool object and/or logged in the // controller's output. // +optional FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"` // FailureMessage will be set in the event that there is a terminal problem // reconciling the MachinePool and will contain a more verbose string suitable // for logging and human consumption. // // This field should not be set for transitive errors that a controller // faces that are expected to be fixed automatically over // time (like service outages), but instead indicate that something is // fundamentally wrong with the MachinePool's spec or the configuration of // the controller, and that manual intervention is required. Examples // of terminal errors would be invalid combinations of settings in the // spec, values that are unsupported by the controller, or the // responsible controller itself being critically misconfigured. // // Any transient errors that occur during the reconciliation of MachinePools // can be added as events to the MachinePool object and/or logged in the // controller's output. // +optional FailureMessage *string `json:"failureMessage,omitempty"` // Conditions defines current service state of the managed machine pool // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` }
AWSManagedMachinePoolStatus defines the observed state of AWSManagedMachinePool
func (*AWSManagedMachinePoolStatus) DeepCopy ¶ added in v0.6.1
func (in *AWSManagedMachinePoolStatus) DeepCopy() *AWSManagedMachinePoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSManagedMachinePoolStatus.
func (*AWSManagedMachinePoolStatus) DeepCopyInto ¶ added in v0.6.1
func (in *AWSManagedMachinePoolStatus) DeepCopyInto(out *AWSManagedMachinePoolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AutoScalingGroup ¶ added in v0.6.1
type AutoScalingGroup struct { // The tags associated with the instance. ID string `json:"id,omitempty"` Tags infrav1.Tags `json:"tags,omitempty"` Name string `json:"name,omitempty"` DesiredCapacity *int32 `json:"desiredCapacity,omitempty"` MaxSize int32 `json:"maxSize,omitempty"` MinSize int32 `json:"minSize,omitempty"` PlacementGroup string `json:"placementGroup,omitempty"` Subnets []string `json:"subnets,omitempty"` DefaultCoolDown metav1.Duration `json:"defaultCoolDown,omitempty"` MixedInstancesPolicy *MixedInstancesPolicy `json:"mixedInstancesPolicy,omitempty"` Status ASGStatus Instances []infrav1.Instance `json:"instances,omitempty"` }
AutoScalingGroup describes an AWS autoscaling group.
func (*AutoScalingGroup) DeepCopy ¶ added in v0.6.1
func (in *AutoScalingGroup) DeepCopy() *AutoScalingGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoScalingGroup.
func (*AutoScalingGroup) DeepCopyInto ¶ added in v0.6.1
func (in *AutoScalingGroup) DeepCopyInto(out *AutoScalingGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BlockDeviceMapping ¶ added in v0.6.1
type BlockDeviceMapping struct { // The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh). // +kubebuilder:validation:Required DeviceName string `json:"deviceName,omitempty"` // You can specify either VirtualName or Ebs, but not both. // +optional Ebs EBS `json:"ebs,omitempty"` }
BlockDeviceMappings specifies the block devices for the instance. You can specify virtual devices and EBS volumes.
func (*BlockDeviceMapping) DeepCopy ¶ added in v0.6.1
func (in *BlockDeviceMapping) DeepCopy() *BlockDeviceMapping
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockDeviceMapping.
func (*BlockDeviceMapping) DeepCopyInto ¶ added in v0.6.1
func (in *BlockDeviceMapping) DeepCopyInto(out *BlockDeviceMapping)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EBS ¶ added in v0.6.1
type EBS struct { // Encrypted is whether the volume should be encrypted or not. // +optional Encrypted bool `json:"encrypted,omitempty"` // The size of the volume, in GiB. // This can be a number from 1-1,024 for standard, 4-16,384 for io1, 1-16,384 // for gp2, and 500-16,384 for st1 and sc1. If you specify a snapshot, the volume // size must be equal to or larger than the snapshot size. // +optional VolumeSize int64 `json:"volumeSize,omitempty"` // The volume type // For more information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) // +kubebuilder:validation:Enum=standard;io1;gp2;st1;sc1;io2 // +optional VolumeType string `json:"volumeType,omitempty"` }
EBS can be used to automatically set up EBS volumes when an instance is launched.
func (*EBS) DeepCopy ¶ added in v0.6.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EBS.
func (*EBS) DeepCopyInto ¶ added in v0.6.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstancesDistribution ¶ added in v0.6.1
type InstancesDistribution struct { // +kubebuilder:validation:Enum=prioritized // +kubebuilder:default=prioritized OnDemandAllocationStrategy OnDemandAllocationStrategy `json:"onDemandAllocationStrategy,omitempty"` // +kubebuilder:validation:Enum=lowest-price;capacity-optimized // +kubebuilder:default=lowest-price SpotAllocationStrategy SpotAllocationStrategy `json:"spotAllocationStrategy,omitempty"` // +kubebuilder:default=0 OnDemandBaseCapacity *int64 `json:"onDemandBaseCapacity,omitempty"` // +kubebuilder:default=100 OnDemandPercentageAboveBaseCapacity *int64 `json:"onDemandPercentageAboveBaseCapacity,omitempty"` }
InstancesDistribution to configure distribution of On-Demand Instances and Spot Instances.
func (*InstancesDistribution) DeepCopy ¶ added in v0.6.1
func (in *InstancesDistribution) DeepCopy() *InstancesDistribution
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstancesDistribution.
func (*InstancesDistribution) DeepCopyInto ¶ added in v0.6.1
func (in *InstancesDistribution) DeepCopyInto(out *InstancesDistribution)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagedMachineAMIType ¶ added in v0.6.1
type ManagedMachineAMIType string
ManagedMachineAMIType specifies which AWS AMI to use for a managed MachinePool
const ( // Al2x86_64 is the default AMI type Al2x86_64 ManagedMachineAMIType = "AL2_x86_64" // Al2x86_64GPU is the x86-64 GPU AMI type Al2x86_64GPU ManagedMachineAMIType = "AL2_x86_64_GPU" // Al2Arm64 is the Arm AMI type Al2Arm64 ManagedMachineAMIType = "AL2_ARM_64" )
type ManagedMachinePoolScaling ¶ added in v0.6.1
type ManagedMachinePoolScaling struct { MinSize *int32 `json:"minSize,omitempty"` MaxSize *int32 `json:"maxSize,omitempty"` }
ManagedMachinePoolScaling specifies scaling options
func (*ManagedMachinePoolScaling) DeepCopy ¶ added in v0.6.1
func (in *ManagedMachinePoolScaling) DeepCopy() *ManagedMachinePoolScaling
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedMachinePoolScaling.
func (*ManagedMachinePoolScaling) DeepCopyInto ¶ added in v0.6.1
func (in *ManagedMachinePoolScaling) DeepCopyInto(out *ManagedMachinePoolScaling)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagedRemoteAccess ¶ added in v0.6.1
type ManagedRemoteAccess struct { // SSHKeyName specifies which EC2 SSH key can be used to access machines. // If left empty, the key from the control plane is used. SSHKeyName *string `json:"sshKeyName,omitempty"` // SourceSecurityGroups specifies which security groups are allowed access // An empty array opens port 22 to the public internet SourceSecurityGroups []string `json:"sourceSecurityGroups,omitempty"` }
ManagedRemoteAccess specifies remote access settings for EC2 instances
func (*ManagedRemoteAccess) DeepCopy ¶ added in v0.6.1
func (in *ManagedRemoteAccess) DeepCopy() *ManagedRemoteAccess
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedRemoteAccess.
func (*ManagedRemoteAccess) DeepCopyInto ¶ added in v0.6.1
func (in *ManagedRemoteAccess) DeepCopyInto(out *ManagedRemoteAccess)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MixedInstancesPolicy ¶ added in v0.6.1
type MixedInstancesPolicy struct { InstancesDistribution *InstancesDistribution `json:"instancesDistribution,omitempty"` Overrides []Overrides `json:"overrides,omitempty"` }
MixedInstancesPolicy for an Auto Scaling group
func (*MixedInstancesPolicy) DeepCopy ¶ added in v0.6.1
func (in *MixedInstancesPolicy) DeepCopy() *MixedInstancesPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MixedInstancesPolicy.
func (*MixedInstancesPolicy) DeepCopyInto ¶ added in v0.6.1
func (in *MixedInstancesPolicy) DeepCopyInto(out *MixedInstancesPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OnDemandAllocationStrategy ¶ added in v0.6.1
type OnDemandAllocationStrategy string
OnDemandAllocationStrategy indicates how to allocate instance types to fulfill On-Demand capacity.
type Overrides ¶ added in v0.6.1
type Overrides struct {
InstanceType string `json:"instanceType"`
}
Overrides are used to override the instance type specified by the launch template with multiple instance types that can be used to launch On-Demand Instances and Spot Instances.
func (*Overrides) DeepCopy ¶ added in v0.6.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Overrides.
func (*Overrides) DeepCopyInto ¶ added in v0.6.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SpotAllocationStrategy ¶ added in v0.6.1
type SpotAllocationStrategy string
SpotAllocationStrategy indicates how to allocate instances across Spot Instance pools.
type Tags ¶ added in v0.6.1
Tags
func (Tags) DeepCopy ¶ added in v0.6.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tags.
func (Tags) DeepCopyInto ¶ added in v0.6.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.