# Functions
Build builds tags including the cluster tag and returns them in map form.
ClusterAWSCloudProviderTagKey generates the key for resources associated a cluster's AWS cloud provider.
ClusterTagKey generates the key for resources associated with a cluster.
RegisterDefaults adds defaulters functions to the given scheme.
SetDefaults_AWSClusterSpec is used by defaulter-gen.
SetDefaults_AWSMachineSpec is used by defaulter-gen.
SetDefaults_Bastion is used by defaulter-gen.
SetDefaults_Labels is used to default cluster scope resources for clusterctl move.
SetDefaults_NetworkSpec is used by defaulter-gen.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Constants
AmazonLinux is the default AMI type.
AmazonLinuxGPU is the AmazonLinux GPU AMI type.
APIServerRoleTagValue describes the value for the apiserver role.
AWSClusterControllerIdentityName is the name of the AWSClusterControllerIdentity singleton.
BastionCreationStartedReason used when creating a new bastion host.
BastionHostFailedReason used when an error occurs during the creation of a bastion host.
BastionHostReadyCondition reports whether a bastion host is ready.
BastionRoleTagValue describes the value for the bastion role.
CarrierGatewayFailedReason used when errors occur during carrier gateway reconciliation.
CarrierGatewayReadyCondition reports on the successful reconciliation of carrier gateways.
ClusterFinalizer allows ReconcileAWSCluster to clean up AWS resources associated with AWSCluster before removing it from the apiserver.
ClusterSecurityGroupReconciliationFailedReason used when any errors occur during reconciliation of security groups.
ClusterSecurityGroupsReadyCondition reports successful reconciliation of security groups.
CommonRoleTagValue describes the value for the common role.
CredentialProviderBuildFailedReason used when errors occur during building providers before trying credential retrieval.nolint:gosec.
DefaultAPIServerHealthCheckIntervalSec the API server health check interval in seconds.
DefaultAPIServerHealthCheckPath the API server health check path.
DefaultAPIServerHealthCheckTimeoutSec the API server health check timeout in seconds.
DefaultAPIServerHealthThresholdCount the API server health check threshold count.
DefaultAPIServerPort defines the API server port when defining a Load Balancer.
DefaultAPIServerPortString defines the API server port as a string for convenience.
DefaultAPIServerUnhealthThresholdCount the API server unhealthy check threshold count.
DefaultIgnitionVersion represents default Ignition version generated for machine userdata.
EgressOnlyInternetGatewayFailedReason used when errors occur during egress only internet gateway reconciliation.
EgressOnlyInternetGatewayReadyCondition reports on the successful reconciliation of egress only internet gateways.
ELBAttachedCondition will report true when a control plane is successfully registered with an ELB.
ELBAttachFailedReason used when a control plane node fails to attach to the ELB.
ELBDetachFailedReason used when a control plane node fails to detach from an ELB.
ExternalResourceGCAnnotation is the name of an annotation that indicates if external resources should be garbage collected for the cluster.
ExternalResourceGCTasksAnnotation is the name of an annotation that indicates what external resources tasks should be executed by garbage collector for the cluster.
HTTPTokensStateOptional represents the optional state.
HTTPTokensStateRequired represents the required state (IMDSv2).
IgnitionStorageTypeOptionClusterObjectStore means the chosen Ignition storage type is ClusterObjectStore.
IgnitionStorageTypeOptionUnencryptedUserData means the chosen Ignition storage type is UnencryptedUserData.
InstanceMetadataEndpointStateDisabled represents the disabled state.
InstanceMetadataEndpointStateEnabled represents the enabled state.
InstanceNotFoundReason used when the instance couldn't be retrieved.
InstanceNotReadyReason used when the instance is in a pending state.
InstanceProvisionFailedReason used for failures during instance provisioning.
InstanceProvisionStartedReason set when the provisioning of an instance started.
InstanceReadyCondition reports on current status of the EC2 instance.
InstanceStoppedReason instance is in a stopped state.
InstanceTerminatedReason instance is in a terminated state.
InternetGatewayFailedReason used when errors occur during internet gateway reconciliation.
InternetGatewayReadyCondition reports on the successful reconciliation of internet gateways.
LaunchTemplateBootstrapDataSecret is the tag we use to store the `<namespace>/<name>` of the bootstrap secret that was used to create the user data for the latest launch template version.
LoadBalancerFailedReason used when an error occurs during load balancer reconciliation.
LoadBalancerReadyCondition reports on whether a control plane load balancer was successfully reconciled.
MachineCreated indicates whether the machine has been created or not.
MachineFinalizer allows ReconcileAWSMachine to clean up AWS resources associated with AWSMachine before removing it from the apiserver.
MachineNameTagKey is the key for machine name.
NameAWSClusterAPIRole is the tag name we use to mark roles for resources dedicated to this cluster api provider implementation.
NameAWSProviderOwned is the tag name we use to differentiate cluster-api-provider-aws owned components from other tooling that uses NameKubernetesClusterPrefix.
NameAWSProviderPrefix is the tag prefix we use to differentiate cluster-api-provider-aws owned components from other tooling that uses NameKubernetesClusterPrefix.
NameAWSSubnetAssociation is the tag name we use to mark association for resources dedicated to this cluster api provider implementation.
NameKubernetesAWSCloudProviderPrefix is the tag name used by the cloud provider to logically separate independent cluster resources.
NatGatewaysCreationStartedReason set once when creating new NAT gateways.
NatGatewaysReadyCondition reports successful reconciliation of NAT gateways.
NatGatewaysReconciliationFailedReason used when any errors occur during reconciliation of NAT gateways.
PreventDeletionLabel can be used in situations where preventing delation is allowed.
PrincipalCredentialRetrievalFailedReason used when errors occur during identity credential retrieval.
PrincipalCredentialRetrievedCondition reports on whether Principal credentials could be retrieved successfully.
PrincipalUsageAllowedCondition reports on whether Principal and all the nested source identities are allowed to be used in the AWSCluster namespace.
PrincipalUsageUnauthorizedReason used when AWSCluster namespace is not in the identity's allowed namespaces list.
PrivateRoleTagValue describes the value for the private role.
PublicIpv4PoolFallbackOrderAmazonPool refers to use Amazon-pool Public IPv4 Pool as a fallback strategy.
PublicIpv4PoolFallbackOrderNone refers to not use any fallback strategy.
PublicRoleTagValue describes the value for the public role.
ResourceLifecycleOwned is the value we use when tagging resources to indicate that the resource is considered owned and managed by the cluster, and in particular that the lifecycle is tied to the lifecycle of the cluster.
ResourceLifecycleShared is the value we use when tagging resources to indicate that the resource is shared between multiple clusters, and should not be destroyed if the cluster is destroyed.
RouteTableReconciliationFailedReason used when any errors occur during reconciliation of route tables.
RouteTablesReadyCondition reports successful reconciliation of route tables.
S3BucketFailedReason is used when any errors occur during reconciliation of an S3 bucket.
S3BucketReadyCondition indicates an S3 bucket has been created successfully.
SecondaryCidrReconciliationFailedReason used when any errors occur during reconciliation of secondary CIDR blocks.
SecondaryCidrsReadyCondition reports successful reconciliation of secondary CIDR blocks.
SecondarySubnetTagValue is the secondary subnet tag constant value.
SecurityGroupsFailedReason used when the security groups could not be synced.
SecurityGroupsReadyCondition indicates the security groups are up to date on the AWSMachine.
SourcePrincipalUsageUnauthorizedReason used when AWSCluster is not in the intersection of source identity allowed namespaces and allowed namespaces of the identities that source identity depends to.
SubnetsReadyCondition reports on the successful reconciliation of subnets.
SubnetsReconciliationFailedReason used to report failures while reconciling subnets.
VpcCreationStartedReason used when attempting to create a VPC for a managed cluster.
VpcEndpointsReadyCondition reports successful reconciliation of vpc endpoints.
VpcEndpointsReconciliationFailedReason used when any errors occur during reconciliation of vpc endpoints.
VpcReadyCondition reports on the successful reconciliation of a VPC.
VpcReconciliationFailedReason used when errors occur during VPC reconciliation.
WaitForDNSNameReason used while waiting for a DNS name for the API server to be populated.
WaitForDNSNameResolveReason used while waiting for DNS name to resolve.
WaitForExternalControlPlaneEndpointReason is available when the AWS Cluster is waiting for an externally managed Load Balancer, such as an external Control Plane provider.
WaitingForBootstrapDataReason used when machine is waiting for bootstrap data to be ready before proceeding.
WaitingForClusterInfrastructureReason used when machine is waiting for cluster infrastructure to be ready before proceeding.
ZoneTypeAvailabilityZone defines the regular AWS zones in the Region.
ZoneTypeLocalZone defines the AWS zone type in Local Zone infrastructure.
ZoneTypeWavelengthZone defines the AWS zone type in Wavelength infrastructure.
# Variables
AddToScheme adds the types in this group-version to the given scheme.
AZSelectionSchemeOrdered will select AZs based on alphabetical order.
AZSelectionSchemeRandom will select AZs randomly.
ClusterRoleIdentityKind defines identity reference kind as AWSClusterRoleIdentity.
ClusterStaticIdentityKind defines identity reference kind as AWSClusterStaticIdentity.
ControllerIdentityKind defines identity reference kind as AWSClusterControllerIdentity.
ELBProtocolHTTP defines the ELB API string representing the HTTP protocol at L7.
ELBProtocolHTTPS defines the ELB API string representing the HTTP protocol at L7.
ELBProtocolSSL defines the ELB API string representing the TLS protocol.
ELBProtocolTCP defines the ELB API string representing the TCP protocol.
ELBProtocolTLS defines the NLB API string representing the TLS protocol.
ELBProtocolUDP defines the NLB API string representing the UDP protocol.
ELBSchemeInternal defines an internal-only facing load balancer internal to an ELB.
ELBSchemeInternetFacing defines an internet-facing, publicly accessible AWS ELB scheme.
GCTaskLoadBalancer defines a task to cleaning up resources for AWS load balancers.
GCTaskSecurityGroup defines a task to cleaning up resources for AWS security groups.
GCTaskTargetGroup defines a task to cleaning up resources for AWS target groups.
GroupVersion is group version used to register these objects.
InstanceKnownStates represents all known EC2 instance states.
InstanceOperationalStates defines the set of states in which an EC2 instance is or can return to running, and supports all EC2 operations.
InstanceRunningStates defines the set of states in which an EC2 instance is running or going to be running soon.
InstanceStatePending is the string representing an instance in a pending state.
InstanceStateRunning is the string representing an instance in a running state.
InstanceStateShuttingDown is the string representing an instance shutting down.
InstanceStateStopped is the string representing an instance that has been stopped and can be restarted.
InstanceStateStopping is the string representing an instance that is in the process of being stopped and can be restarted.
InstanceStateTerminated is the string representing an instance that has been terminated.
LoadBalancerAttributeEnableLoadBalancingCrossZone defines the attribute key for enabling load balancing cross zone.
LoadBalancerAttributeIdleTimeDefaultTimeoutSecondsInSeconds defines the default idle timeout in seconds.
LoadBalancerAttributeIdleTimeTimeoutSeconds defines the attribute key for idle timeout.
LoadBalancerTypeALB is the ALB type.
LoadBalancerTypeClassic is the classic ELB type.
LoadBalancerTypeDisabled disables the load balancer.
LoadBalancerTypeELB is the ELB type.
LoadBalancerTypeNLB is the NLB type.
SchemeBuilder is used to add go types to the GroupVersionKind scheme.
SecretBackendSecretsManager defines AWS Secrets Manager as the secret backend.
SecretBackendSSMParameterStore defines AWS Systems Manager Parameter Store as the secret backend.
SecurityGroupAPIServerLB defines a Kubernetes API Server Load Balancer role.
SecurityGroupBastion defines an SSH bastion role.
SecurityGroupControlPlane defines a Kubernetes control plane node role.
SecurityGroupEKSNodeAdditional defines an extra node group from eks nodes.
SecurityGroupLB defines a container for the cloud provider to inject its load balancer ingress rules.
SecurityGroupNode defines a Kubernetes workload node role.
SecurityGroupProtocolAll is a wildcard for all IP protocols.
SecurityGroupProtocolESP represents the ESP protocol in ingress rules.
SecurityGroupProtocolICMP represents the ICMP protocol in ingress rules.
SecurityGroupProtocolICMPv6 represents the ICMPv6 protocol in ingress rules.
SecurityGroupProtocolIPinIP represents the IP in IP protocol in ingress rules.
SecurityGroupProtocolTCP represents the TCP protocol in ingress rules.
SecurityGroupProtocolUDP represents the UDP protocol in ingress rules.
SubnetSchemaPreferPrivate allocates more subnets in the VPC to private subnets.
SubnetSchemaPreferPublic allocates more subnets in the VPC to public subnets.
TargetGroupAttributeEnablePreserveClientIP defines the attribute key for enabling preserve client IP.
VolumeTypeGP2 is the string representing a general purpose ssd gp2 volume.
VolumeTypeGP3 is the string representing a general purpose ssd gp3 volume.
VolumeTypeIO1 is the string representing a provisioned iops ssd io1 volume.
VolumeTypeIO2 is the string representing a provisioned iops ssd io2 volume.
VolumeTypesGP are volume types provisioned for general purpose io.
VolumeTypesProvisioned are volume types provisioned for high performance io.
# Structs
AdditionalListenerSpec defines the desired state of an additional listener on an AWS load balancer.
AllowedNamespaces is a selector of namespaces that AWSClusters can use this ClusterPrincipal from.
AMIReference is a reference to a specific AWS resource by ID, ARN, or filters.
AWSCluster is the schema for Amazon EC2 based Kubernetes Cluster API.
AWSClusterControllerIdentity is the Schema for the awsclustercontrolleridentities API It is used to grant access to use Cluster API Provider AWS Controller credentials.
AWSClusterControllerIdentityList contains a list of AWSClusterControllerIdentity.
AWSClusterControllerIdentitySpec defines the specifications for AWSClusterControllerIdentity.
AWSClusterIdentitySpec defines the Spec struct for AWSClusterIdentity types.
AWSClusterList contains a list of AWSCluster.
AWSClusterRoleIdentity is the Schema for the awsclusterroleidentities API It is used to assume a role using the provided sourceRef.
AWSClusterRoleIdentityList contains a list of AWSClusterRoleIdentity.
AWSClusterRoleIdentitySpec defines the specifications for AWSClusterRoleIdentity.
AWSClusterSpec defines the desired state of an EC2-based Kubernetes cluster.
AWSClusterStaticIdentity is the Schema for the awsclusterstaticidentities API It represents a reference to an AWS access key ID and secret access key, stored in a secret.
AWSClusterStaticIdentityList contains a list of AWSClusterStaticIdentity.
AWSClusterStaticIdentitySpec defines the specifications for AWSClusterStaticIdentity.
AWSClusterStatus defines the observed state of AWSCluster.
AWSClusterTemplate is the schema for Amazon EC2 based Kubernetes Cluster Templates.
AWSClusterTemplateList contains a list of AWSClusterTemplate.
AWSClusterTemplateResource defines the desired state of AWSClusterTemplateResource.
AWSClusterTemplateSpec defines the desired state of AWSClusterTemplate.
AWSIdentityReference specifies a identity.
AWSLoadBalancerSpec defines the desired state of an AWS load balancer.
AWSMachine is the schema for Amazon EC2 machines.
AWSMachineList contains a list of Amazon EC2 machines.
AWSMachineSpec defines the desired state of an Amazon EC2 instance.
AWSMachineStatus defines the observed state of AWSMachine.
AWSMachineTemplate is the schema for the Amazon EC2 Machine Templates API.
AWSMachineTemplateList contains a list of AWSMachineTemplate.
AWSMachineTemplateResource describes the data needed to create am AWSMachine from a template.
AWSMachineTemplateSpec defines the desired state of AWSMachineTemplate.
AWSMachineTemplateStatus defines a status for an AWSMachineTemplate.
AWSMachineTemplateWebhook implements a custom validation webhook for AWSMachineTemplate.
AWSManagedCluster is the Schema for the awsmanagedclusters API.
AWSManagedClusterList contains a list of AWSManagedCluster.
AWSManagedClusterSpec defines the desired state of AWSManagedCluster.
AWSManagedClusterStatus defines the observed state of AWSManagedCluster.
AWSResourceReference is a reference to a specific AWS resource by ID or filters.
AWSRoleSpec defines the specifications for all identities based around AWS roles.
Bastion defines a bastion host.
BuildParams is used to build tags around an aws resource.
ClassicELBAttributes defines extra attributes associated with a classic load balancer.
ClassicELBHealthCheck defines an AWS classic load balancer health check.
ClassicELBListener defines an AWS classic load balancer listener.
CloudInit defines options related to the bootstrapping systems where CloudInit is used.
CNIIngressRule defines an AWS ingress rule for CNI requirements.
CNISpec defines configuration for CNI.
ElasticIPPool allows configuring a Elastic IP pool for resources allocating public IPv4 addresses on public subnets.
Filter is a filter used to identify an AWS resource.
Ignition defines options related to the bootstrapping systems where Ignition is used.
IgnitionProxy defines proxy settings for Ignition.
IgnitionTLS defines TLS settings for Ignition.
IngressRule defines an AWS ingress rule for security groups.
Instance describes an AWS instance.
InstanceMetadataOptions describes metadata options for the EC2 instance.
IPAMPool defines the IPAM pool to be used for VPC.
IPv6 contains ipv6 specific settings for the network.
Listener defines an AWS network load balancer listener.
LoadBalancer defines an AWS load balancer.
NetworkSpec encapsulates all things related to AWS network.
NetworkStatus encapsulates AWS networking resources.
PrivateDNSName is the options for the instance hostname.
RouteTable defines an AWS routing table.
S3Bucket defines a supporting S3 bucket for the cluster, currently can be optionally used for Ignition.
SecurityGroup defines an AWS security group.
SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances.
SubnetSpec configures an AWS Subnet.
TargetGroupHealthCheck defines health check settings for the target group.
TargetGroupHealthCheckAdditionalSpec defines the optional health check settings for the additional target groups.
TargetGroupHealthCheckAPISpec defines the optional health check settings for the API target group.
TargetGroupSpec specifies target group settings for a given listener.
Volume encapsulates the configuration options for the storage device.
VpcCidrBlock defines the CIDR block and settings to associate with the managed VPC.
VPCSpec configures an AWS VPC.
# Type aliases
AWSIdentityKind defines allowed AWS identity types.
AWSMachineProviderConditionType is a valid value for AWSMachineProviderCondition.Type.
AZSelectionScheme defines the scheme of selecting AZs.
CNIIngressRules is a slice of CNIIngressRule.
EKSAMILookupType specifies which AWS AMI to use for a AWSMachine and AWSMachinePool.
ELBProtocol defines listener protocols for a load balancer.
ELBScheme defines the scheme of a load balancer.
GCTask defines a task to be executed by the garbage collector.
HTTPTokensState describes the state of InstanceMetadataOptions.HTTPTokensState.
IgnitionCASource defines the source of the certificate authority to use for Ignition.
IgnitionNoProxy defines the list of domains to not proxy for Ignition.
IgnitionStorageTypeOption defines the different storage types for Ignition.
IngressRules is a slice of AWS ingress rules for security groups.
InstanceMetadataState describes the state of InstanceMetadataOptions.HttpEndpoint and InstanceMetadataOptions.InstanceMetadataTags.
InstanceState describes the state of an AWS instance.
LoadBalancerAttribute defines a set of attributes for a V2 load balancer.
LoadBalancerType defines the type of load balancer to use.
PublicIpv4PoolFallbackOrder defines the list of available fallback action when the PublicIpv4Pool is exhausted.
ResourceLifecycle configures the lifecycle of a resource.
SecretBackend defines variants for backend secret storage.
SecurityGroupProtocol defines the protocol type for a security group rule.
SecurityGroupRole defines the unique role of a security group.
Subnets is a slice of Subnet.
SubnetSchemaType specifies how given network should be divided on subnets in the VPC depending on the number of AZs.
Tags defines a map of tags.
TargetGroupAttribute defines attribute key values for V2 Load Balancer Attributes.
VolumeType describes the EBS volume type.
ZoneType defines listener AWS Availability Zone type.