cluster-api-provider-aws: github.com/kubernetes-sigs/cluster-api-provider-aws/exp/api/v1alpha3 Index | Files

package v1alpha3

import "github.com/kubernetes-sigs/cluster-api-provider-aws/exp/api/v1alpha3"

Package v1alpha3 contains API Schema definitions for the eks controlplane v1alpha3 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io

Index

Package Files

awsmachinepool_types.go awsmachinepool_webhook.go awsmanagedcluster_types.go awsmanagedmachinepool_types.go awsmanagedmachinepool_webhook.go conditions_consts.go doc.go groupversion_info.go types.go zz_generated.deepcopy.go

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")
)

type ASGStatus Uses

type ASGStatus string

ASGStatus is a status string returned by the autoscaling API

type AWSLaunchTemplate Uses

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 Uses

func (in *AWSLaunchTemplate) DeepCopy() *AWSLaunchTemplate

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

func (*AWSLaunchTemplate) DeepCopyInto Uses

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 Uses

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 Uses

func (in *AWSMachinePool) DeepCopy() *AWSMachinePool

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

func (*AWSMachinePool) DeepCopyInto Uses

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 Uses

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

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

func (*AWSMachinePool) Default Uses

func (r *AWSMachinePool) Default()

Default will set default values for the AWSMachinePool

func (*AWSMachinePool) GetConditions Uses

func (r *AWSMachinePool) GetConditions() clusterv1.Conditions

func (*AWSMachinePool) GetObjectKind Uses

func (r *AWSMachinePool) GetObjectKind() schema.ObjectKind

func (*AWSMachinePool) SetConditions Uses

func (r *AWSMachinePool) SetConditions(conditions clusterv1.Conditions)

func (*AWSMachinePool) SetupWebhookWithManager Uses

func (r *AWSMachinePool) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager will setup the webhooks for the AWSMachinePool

func (*AWSMachinePool) ValidateCreate Uses

func (r *AWSMachinePool) ValidateCreate() error

ValidateCreate will do any extra validation when creating a AWSMachinePool

func (*AWSMachinePool) ValidateDelete Uses

func (r *AWSMachinePool) ValidateDelete() error

ValidateDelete allows you to add any extra validation when deleting

func (*AWSMachinePool) ValidateUpdate Uses

func (r *AWSMachinePool) ValidateUpdate(old runtime.Object) error

ValidateUpdate will do any extra validation when updating a AWSMachinePool

type AWSMachinePoolList Uses

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 Uses

func (in *AWSMachinePoolList) DeepCopy() *AWSMachinePoolList

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

func (*AWSMachinePoolList) DeepCopyInto Uses

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 Uses

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

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

func (*AWSMachinePoolList) GetObjectKind Uses

func (r *AWSMachinePoolList) GetObjectKind() schema.ObjectKind

type AWSMachinePoolSpec Uses

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 Uses

func (in *AWSMachinePoolSpec) DeepCopy() *AWSMachinePoolSpec

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

func (*AWSMachinePoolSpec) DeepCopyInto Uses

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 Uses

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 Uses

func (in *AWSMachinePoolStatus) DeepCopy() *AWSMachinePoolStatus

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

func (*AWSMachinePoolStatus) DeepCopyInto Uses

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 Uses

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 Uses

func (in *AWSManagedCluster) DeepCopy() *AWSManagedCluster

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

func (*AWSManagedCluster) DeepCopyInto Uses

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 Uses

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

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

type AWSManagedClusterList Uses

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 Uses

func (in *AWSManagedClusterList) DeepCopy() *AWSManagedClusterList

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

func (*AWSManagedClusterList) DeepCopyInto Uses

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 Uses

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

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

type AWSManagedClusterSpec Uses

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 Uses

func (in *AWSManagedClusterSpec) DeepCopy() *AWSManagedClusterSpec

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

func (*AWSManagedClusterSpec) DeepCopyInto Uses

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 Uses

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 Uses

func (in *AWSManagedClusterStatus) DeepCopy() *AWSManagedClusterStatus

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

func (*AWSManagedClusterStatus) DeepCopyInto Uses

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 Uses

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 Uses

func (in *AWSManagedMachinePool) DeepCopy() *AWSManagedMachinePool

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

func (*AWSManagedMachinePool) DeepCopyInto Uses

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 Uses

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

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

func (*AWSManagedMachinePool) Default Uses

func (r *AWSManagedMachinePool) Default()

Default will set default values for the AWSManagedMachinePool

func (*AWSManagedMachinePool) GetConditions Uses

func (r *AWSManagedMachinePool) GetConditions() clusterv1.Conditions

func (*AWSManagedMachinePool) SetConditions Uses

func (r *AWSManagedMachinePool) SetConditions(conditions clusterv1.Conditions)

func (*AWSManagedMachinePool) SetupWebhookWithManager Uses

func (r *AWSManagedMachinePool) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager will setup the webhooks for the AWSManagedMachinePool

func (*AWSManagedMachinePool) ValidateCreate Uses

func (r *AWSManagedMachinePool) ValidateCreate() error

ValidateCreate will do any extra validation when creating a AWSManagedMachinePool

func (*AWSManagedMachinePool) ValidateDelete Uses

func (r *AWSManagedMachinePool) ValidateDelete() error

ValidateDelete allows you to add any extra validation when deleting

func (*AWSManagedMachinePool) ValidateUpdate Uses

func (r *AWSManagedMachinePool) ValidateUpdate(old runtime.Object) error

ValidateUpdate will do any extra validation when updating a AWSManagedMachinePool

type AWSManagedMachinePoolList Uses

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 Uses

func (in *AWSManagedMachinePoolList) DeepCopy() *AWSManagedMachinePoolList

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

func (*AWSManagedMachinePoolList) DeepCopyInto Uses

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 Uses

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

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

type AWSManagedMachinePoolSpec Uses

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 Uses

func (in *AWSManagedMachinePoolSpec) DeepCopy() *AWSManagedMachinePoolSpec

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

func (*AWSManagedMachinePoolSpec) DeepCopyInto Uses

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 Uses

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 Uses

func (in *AWSManagedMachinePoolStatus) DeepCopy() *AWSManagedMachinePoolStatus

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

func (*AWSManagedMachinePoolStatus) DeepCopyInto Uses

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 Uses

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 Uses

func (in *AutoScalingGroup) DeepCopy() *AutoScalingGroup

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

func (*AutoScalingGroup) DeepCopyInto Uses

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 Uses

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 Uses

func (in *BlockDeviceMapping) DeepCopy() *BlockDeviceMapping

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

func (*BlockDeviceMapping) DeepCopyInto Uses

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 Uses

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 Uses

func (in *EBS) DeepCopy() *EBS

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

func (*EBS) DeepCopyInto Uses

func (in *EBS) DeepCopyInto(out *EBS)

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

type InstancesDistribution Uses

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 Uses

func (in *InstancesDistribution) DeepCopy() *InstancesDistribution

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

func (*InstancesDistribution) DeepCopyInto Uses

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 Uses

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 Uses

type ManagedMachinePoolScaling struct {
    MinSize *int32 `json:"minSize,omitempty"`
    MaxSize *int32 `json:"maxSize,omitempty"`
}

ManagedMachinePoolScaling specifies scaling options

func (*ManagedMachinePoolScaling) DeepCopy Uses

func (in *ManagedMachinePoolScaling) DeepCopy() *ManagedMachinePoolScaling

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

func (*ManagedMachinePoolScaling) DeepCopyInto Uses

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 Uses

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 Uses

func (in *ManagedRemoteAccess) DeepCopy() *ManagedRemoteAccess

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

func (*ManagedRemoteAccess) DeepCopyInto Uses

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 Uses

type MixedInstancesPolicy struct {
    InstancesDistribution *InstancesDistribution `json:"instancesDistribution,omitempty"`
    Overrides             []Overrides            `json:"overrides,omitempty"`
}

MixedInstancesPolicy for an Auto Scaling group

func (*MixedInstancesPolicy) DeepCopy Uses

func (in *MixedInstancesPolicy) DeepCopy() *MixedInstancesPolicy

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

func (*MixedInstancesPolicy) DeepCopyInto Uses

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 Uses

type OnDemandAllocationStrategy string

OnDemandAllocationStrategy indicates how to allocate instance types to fulfill On-Demand capacity.

type Overrides Uses

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 Uses

func (in *Overrides) DeepCopy() *Overrides

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

func (*Overrides) DeepCopyInto Uses

func (in *Overrides) DeepCopyInto(out *Overrides)

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

type SpotAllocationStrategy Uses

type SpotAllocationStrategy string

SpotAllocationStrategy indicates how to allocate instances across Spot Instance pools.

type Tags Uses

type Tags map[string]string

Tags

func (Tags) DeepCopy Uses

func (in Tags) DeepCopy() Tags

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

func (Tags) DeepCopyInto Uses

func (in Tags) DeepCopyInto(out *Tags)

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

Package v1alpha3 imports 17 packages (graph). Updated 2020-10-24. Refresh now. Tools for package owners.