# Packages
Code generated by counterfeiter.
# Functions
No description provided by the author
ClusterConfigTypeMeta constructs TypeMeta for ClusterConfig.
ClusterEndpointAccessDefaults returns a ClusterEndpoints pointer with default values set.
ClusterHasInstanceType checks all nodegroups and managed nodegroups for a specific instance type.
ClusterIAMServiceAccountNameStringToClusterIAMMeta constructs metav1.ObjectMeta from <ns>/<name> string.
DefaultCIDR returns default global CIDR for VPC.
DefaultClusterNAT will set the default value for Cluster NAT mode.
Disabled return pointer to false value for use in defaulters of *bool fields.
EKSResourceAccountID provides worker node resources(ami/ecr image) in different aws account for different aws partitions & opt-in regions.
Enabled return pointer to true value for use in defaulters of *bool fields.
EndpointsEqual returns true of two endpoints have same values after dereferencing any pointers.
errInvalidName error when invalid characters for a name is provided.
No description provided by the author
No description provided by the author
GetAccessEntryType returns the access entry type for the specified AMI family.
HasAllDefaultAddons reports whether addonNames contains all default addons.
HasDefaultAddons reports whether addons contains at least one default addon.
HasInstanceType returns whether some node in the group fulfils the type check.
HasInstanceTypeManaged returns whether some node in the managed group fulfils the type check.
HasMixedInstances checks if a nodegroup has mixed instances option declared.
IAMServiceAccountsWithImplicitServiceAccounts adds implicitly created IAM SAs that need to be explicitly deleted.
ImportSubnet loads a given subnet into ClusterConfig.
No description provided by the author
IsAMI returns true if the argument is an AMI ID.
IsDisabled will only return true if v is not nil and false.
IsEmpty will only return true if s is not nil and not empty.
IsEnabled will only return true if v is not nil and true.
IsInvalidNameArg checks whether the name contains invalid characters.
IsSetAndNonEmptyString will only return true if s is not nil and not empty.
No description provided by the author
IsWindowsImage reports whether the AMI family is for Windows.
Kind takes an unqualified kind and returns back a Group qualified GroupKind.
MapOptionalEndpointServices maps a list of endpoint service names to []EndpointService.
MustParseARN returns the parsed ARN or panics if the ARN cannot be parsed.
No description provided by the author
NewClusterConfig creates new config for a cluster; it doesn't include initial nodegroup, so user must call NewNodeGroup to create one.
NewClusterIAM creates a new ClusterIAM for a cluster.
NewClusterVPC creates new VPC config for a cluster.
NewManagedNodeGroup creates a new ManagedNodeGroup.
NewNodeGroup creates a new NodeGroup, and returns a pointer to it.
PrivateOnly returns true if public cluster endpoint access is disabled and private cluster endpoint access is enabled, and false otherwise.
Register our API with the scheme.
RegisterDefaults adds defaulters functions to the given scheme.
RequiredEndpointServices returns a list of endpoint services that are required for a fully-private cluster.
Resource takes an unqualified resource and returns a Group qualified GroupResource.
RoleNameFromARN returns the role name for roleARN.
SelectInstanceType determines which instanceType is relevant for selecting an AMI If the nodegroup has mixed instances it will prefer a GPU instance type over a general class one This is to make sure that the AMI that is selected later is valid for all the types.
SetClusterConfigDefaults will set defaults for a given cluster.
SetClusterEndpointAccessDefaults sets the default values for cluster endpoint access.
SetManagedNodeGroupDefaults sets default values for a ManagedNodeGroup.
SetNodeGroupDefaults will set defaults for a given nodegroup.
SubnetTopologies returns a list of topologies.
SupportedAMIFamilies are the AMI families supported by EKS.
SupportedCloudWatchClusterLogTypes returns all supported logging facilities.
SupportedNodeVolumeTypes are the volume types that can be used for a node root volume.
SupportedRegions are the regions where EKS is available.
ToPodIdentityAssociationID extracts the pod identity association ID from piaARN.
ValidateAdditionalEndpointServices validates support for the specified additional endpoint services.
ValidateAutoModeConfig validates the Auto Mode config.
ValidateClusterConfig checks compatible fields of a given ClusterConfig.
ValidateManagedNodeGroup validates a ManagedNodeGroup and sets some defaults.
ValidateNodeGroup checks compatible fields of a given nodegroup.
No description provided by the author
# Constants
AccessEntryTypeEc2 specifies the EC2 (Auto Mode) access entry type.
AccessEntryTypeFargateLinux specifies the Fargate Linux access entry type.
AccessEntryTypeHybridLinux specifies the Hybrid Linux access entry type.
AccessEntryTypeLinux specifies the EC2 Linux access entry type.
AccessEntryTypeStandard specifies a standard access entry type.
AccessEntryTypeWindows specifies the Windows access entry type.
AddonNameTag defines the tag of the IAM service account name.
AddonPodIdentityAssociationNameTag defines the tag name for an addon's pod identity association.
Commonly-used constants.
Values for `AutoModeNodePool`.
Values for `AutoModeNodePool`.
AWSDebugLevel defines the LogLevel for AWS produced logs.
Values for core addons.
Values for core addons.
Conventional Kubernetes API contants.
ClusterDisableNAT disables NAT.
ClusterHighlyAvailableNAT configures a highly available NAT gateway.
ClusterNameLabel defines the tag of the cluster name.
ClusterNameTag defines the tag of the cluster name.
(default).
ClusterOIDCEnabledTag determines whether OIDC is enabled or not.
ClusterSingleNAT configures a single NAT gateway.
Container runtime values.
Container runtime values.
Container runtime values.
Values for core addons.
Conventional Kubernetes API contants.
DefaultMaxSize defines the default maximum number of nodes inside the ASG.
DefaultNodeCount defines the default number of nodes to be created.
DefaultNodeImageFamily (default).
DefaultNodeType is the default instance type to use for nodes.
DefaultNodeVolumeGP3IOPS defines the default throughput for gp3, set to the min value.
DefaultNodeVolumeIO1IOPS defines the default throughput for io1 volumes, set to the min value.
DefaultNodeVolumeIO2IOPS defines the default throughput for io2 volumes, set to the min value.
DefaultNodeVolumeThroughput defines the default throughput for gp3 volumes, set to the min value.
DefaultRegion defines the default region, where to deploy the EKS cluster.
TODO: Remove this and replace with output from DescribeClusterVersions endpoint DefaultVersion (default).
No description provided by the author
EksctlVersionTag defines the version of eksctl which is used to provision or update EKS cluster.
No description provided by the author
Commonly-used constants.
No description provided by the author
IAMServiceAccountNameTag defines the tag of the IAM service account name.
IPV4Family defines an IP family of v4 to be used when creating a new VPC and cluster.
IPV6Family defines an IP family of v6 to be used when creating a new VPC and cluster.
KarpenterNameTag defines the tag of the Karpenter stack name.
KarpenterVersionTag defines the tag for Karpenter's version.
Values for core addons.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html.
Values for core addons.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html.
MinRequiredAvailabilityZones defines the minimum number of required availability zones.
MinRequiredSubnets is the minimum required number of subnets.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html.
NodeGroupNameLabel defines the label of the nodegroup name.
NodeGroupNameTag defines the tag of the nodegroup name.
NodeGroupTypeManaged defines a managed nodegroup.
NodeGroupTypeTag defines the nodegroup type as managed or unmanaged.
NodeGroupTypeUnmanaged defines an unmanaged nodegroup.
NodeGroupTypeUnowned defines an unowned managed nodegroup.
Values for `NodeAMIFamily` All valid values of supported families should go in this block.
Values for `NodeAMIFamily` All valid values of supported families should go in this block.
Values for `NodeAMIFamily` All valid values of supported families should go in this block.
Values for `NodeAMIFamily` All valid values of supported families should go in this block.
Values for `NodeAMIFamily` All valid values of supported families should go in this block.
Values for `NodeAMIFamily` All valid values of supported families should go in this block.
Values for `NodeAMIFamily` All valid values of supported families should go in this block.
Values for `NodeAMIFamily` All valid values of supported families should go in this block.
Values for `NodeAMIFamily` All valid values of supported families should go in this block.
Deprecated `NodeAMIFamily`.
Values for `NodeAMIFamily` All valid values of supported families should go in this block.
Values for `NodeAMIFamily` All valid values of supported families should go in this block.
Values for `NodeAMIFamily` All valid values of supported families should go in this block.
Values for `NodeAMIFamily` All valid values of supported families should go in this block.
Deprecated `NodeAMIFamily`.
NodeImageResolverAuto represents auto AMI resolver (see ami package).
NodeImageResolverAutoSSM is used to indicate that the latest EKS AMIs should be used for the nodes.
NodeVolumeTypeGP2 is General Purpose SSD.
NodeVolumeTypeGP3 is General Purpose SSD which can be optimised for high throughput (default).
NodeVolumeTypeIO1 is Provisioned IOPS SSD.
NodeVolumeTypeIO2 is Provisioned IOPS SSD.
NodeVolumeTypeSC1 is Cold HDD.
NodeVolumeTypeST1 is Throughput Optimized HDD.
Values for Capacity Reservation Preference.
No description provided by the author
OldClusterNameTag defines the tag of the cluster name.
OldNodeGroupIDTag defines the old version of tag of the nodegroup name.
OldNodeGroupNameTag defines the tag of the nodegroup name.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html.
Values for Capacity Reservation Preference.
OutpostsMinRequiredSubnets is the minimum required number of subnets for Outposts.
Partitions.
Partitions.
Partitions.
Partitions.
Partitions.
Partitions.
Partitions.
Values for core addons.
PodIdentityAssociationNameTag defines the tag of Pod Identity Association name.
RecommendedAvailabilityZones defines the default number of required availability zones.
RecommendedSubnets is the recommended number of subnets.
RegionAFSouth1 represents the Africa Region Cape Town.
RegionAPEast1 represents the Asia Pacific Region Hong Kong.
RegionAPNorthEast1 represents the Asia-Pacific North East Region Tokyo.
RegionAPNorthEast2 represents the Asia-Pacific North East Region Seoul.
RegionAPNorthEast3 represents the Asia-Pacific North East region Osaka.
RegionAPSouth1 represents the Asia-Pacific South Region Mumbai.
RegionAPSouth2 represents the Asia-Pacific South Region Hyderabad.
RegionAPSouthEast1 represents the Asia-Pacific South East Region Singapore.
RegionAPSouthEast2 represents the Asia-Pacific South East Region Sydney.
RegionAPSouthEast3 represents the Asia-Pacific South East Region Jakarta.
RegionAPSouthEast4 represents the Asia-Pacific South East Region Melbourne.
RegionAPSouthEast5 represents the Asia-Pacific South East Region Kuala Lumpur.
RegionAPSouthEast7 represents the Asia-Pacific South East Region Bangkok.
RegionCACentral1 represents the Canada Central Region.
RegionCAWest1 represents the Canada West region Calgary.
RegionCNNorth1 represents the China region Beijing.
RegionCNNorthwest1 represents the China region Ningxia.
RegionEUCentral1 represents the EU Central Region Frankfurt.
RegionEUCentral2 represents the EU Central Region Zurich.
Region represents the region EU ISOE West.
RegionEUNorth1 represents the EU North Region Stockholm.
RegionEUSouth1 represents the Eu South Region Milan.
RegionEUSouth2 represents the Eu South Region Spain.
RegionEUWest1 represents the EU West Region Ireland.
RegionEUWest2 represents the EU West Region London.
RegionEUWest3 represents the EU West Region Paris.
RegionILCentral1 represents the Israel region Tel Aviv.
RegionMECentral1 represents the Middle East Region Dubai.
RegionMESouth1 represents the Middle East Region Bahrain.
RegionMXCentral1 represents the region of central Mexico.
RegionSAEast1 represents the South America Region Sao Paulo.
RegionUSEast1 represents the US East Region North Virginia.
RegionUSEast2 represents the US East Region Ohio.
RegionUSGovEast1 represents the region GovCloud (US-East).
RegionUSGovWest1 represents the region GovCloud (US-West).
RegionUSISOBEast1 represents the region US ISOB East (Ohio).
RegionUSISOEast1 represents the region US ISO East.
RegionUSISOFSouth1 represents the region US ISOF East.
RegionUSISOFSouth1 represents the region US ISOF South.
RegionUSISOWest1 represents the region US ISO West.
RegionUSWest1 represents the US West Region North California.
RegionUSWest2 represents the US West Region Oregon.
ReservedProfileNamePrefix defines the Fargate profile name prefix reserved for AWS, and which therefore, cannot be used by users.
SpotAllocationStrategyCapacityOptimized defines the ASG spot allocation strategy of capacity-optimized.
SpotAllocationStrategyCapacityOptimizedPrioritized defines the ASG spot allocation strategy of capacity-optimized-prioritized Use the capacity-optimized-prioritized allocation strategy and then set the order of instance types in the list of launch template overrides from highest to lowest priority (first to last in the list).
SpotAllocationStrategyLowestPrice defines the ASG spot allocation strategy of lowest-price.
SubnetTopologyPrivate represents privately-routed subnets.
SubnetTopologyPublic represents publicly-routed subnets.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Values for core addons.
# Variables
Conventional Kubernetes API variables.
AutoModeKnownNodePools is a slice of known node pools for Auto Mode.
No description provided by the author
DefaultIPFamily defines the default IP family to use when creating a new VPC and cluster.
DefaultNodeSSHPublicKeyPath is the default path to SSH public key.
DefaultNodeVolumeSize defines the default root volume size.
DefaultNodeVolumeType defines the default root volume type to use for non-Outpost clusters.
DefaultWaitTimeout defines the default wait timeout.
No description provided by the author
EndpointServiceCloudWatch is an EndpointService for CloudWatch Logs.
EndpointServices is a list of supported endpoint services.
EndpointServiceS3 is an EndpointService for S3.
ErrClusterEndpointNoAccess indicates the config prevents API access.
ErrClusterEndpointPrivateOnly warns private-only access requires changes to AWS resource configuration in order to effectively use clients in the VPC.
No description provided by the author
No description provided by the author
ErrUnsupportedLocalCluster is an error for when an unsupported operation is attempted on a local cluster.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Partitions is a list of supported AWS partitions.
SchemaJSON contains the schema
go:embed assets/schema.json.
Conventional Kubernetes API variables.
Conventional Kubernetes API variables.
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
AccessConfig specifies the access config for a cluster.
AccessEntry represents an access entry for managing access to a cluster.
An AccessPolicy represents a policy to associate with an access entry.
AccessScope defines the scope of an access policy.
Addon holds the EKS addon configuration.
AddonsConfig holds the addons config.
No description provided by the author
No description provided by the author
CapacityReservation defines a nodegroup's Capacity Reservation targeting option +optional.
No description provided by the author
ClusterCloudWatch contains config parameters related to CloudWatch.
ClusterCloudWatchLogging container config parameters related to cluster logging.
ClusterConfig is a simple config, to be replaced with Cluster API.
ClusterConfigList is a list of ClusterConfigs.
No description provided by the author
ClusterIAM holds all IAM attributes of a cluster.
ClusterIAMMeta holds information we can use to create ObjectMeta for service accounts.
ClusterIAMServiceAccount holds an IAM service account metadata and configuration.
ClusterIAMServiceAccountStatus holds status of the IAM service account.
ClusterMeta contains general cluster information.
No description provided by the author
ClusterStatus holds read-only attributes of a cluster.
No description provided by the author
No description provided by the author
EndpointService represents a VPC endpoint service.
FargateProfile defines the settings used to schedule workload onto Fargate.
FargateProfileSelector defines rules to select workload to schedule onto Fargate.
Flux groups all configuration options related to a Git repository used for GitOps Toolkit (Flux v2).
GitOps groups all configuration options related to enabling GitOps Toolkit on a cluster and linking it to a Git repository.
IAMIdentityMapping contains IAM accounts, users, roles and services that will be added to the aws-auth configmap to enable access to the cluster.
Internal type IAMPolicyDocument represents an IAM assume role policy document.
Internal type IAMStatement represents an IAM policy document statement.
IdentityProvider holds an identity provider configuration.
InstanceMarketOptions describes the market (purchasing) option for the instances.
InstanceSelector holds EC2 instance selector options.
Karpenter provides configuration options.
KubernetesNetworkConfig contains cluster networking options.
No description provided by the author
ManagedNodeGroup represents an EKS-managed nodegroup.
MetricsCollection used by the scaling config, see [cloudformation docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-metricscollection.html).
No description provided by the author
NodeGroup holds configuration attributes that are specific to an unmanaged nodegroup.
NodeGroupBase represents the base nodegroup config for self-managed and managed nodegroups.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NodeGroupTaint represents a Kubernetes taint.
No description provided by the author
OIDCIdentityProvider holds the spec of an OIDC provider to use for EKS authzn.
Outpost holds the Outpost configuration.
Placement specifies placement group information.
No description provided by the author
PrivateCluster defines the configuration for a fully-private cluster.
Profile is the AWS profile to use.
ProviderConfig holds global parameters for all interactions with AWS APIs.
RemoteNetwork.
RemoteNetworkConfig.
No description provided by the author
ScalingConfig defines the scaling config.
SecretsEncryption defines the configuration for KMS encryption provider.
UnsupportedFeatureError is an error that represents an unsupported feature +k8s:deepcopy-gen=false.
VolumeMapping Additional Volume Configurations.
WellKnownPolicies for attaching common IAM policies.
ZonalShiftConfig holds the zonal shift configuration.
# Interfaces
ClusterProvider is the interface to AWS APIs.
IdentityProviderInterface is a dummy interface to give some extra type safety.
NodePool represents a group of nodes that share the same configuration Ideally the NodeGroup type should be renamed to UnmanagedNodeGroup or SelfManagedNodeGroup and this interface should be called NodeGroup.
OutpostInfo describes the Outpost info.
STSPresigner defines the method to pre-sign GetCallerIdentity requests to add a proper header required by EKS for authentication from the outside.
# Type aliases
AccessEntryType represents the type of access entry.
No description provided by the author
AZSubnetMapping holds subnet to AZ mappings.
AWS allows string or []string as value, we convert everything to []string to avoid casting.
No description provided by the author
FluxFlags is a map of string for passing arbitrary flags to Flux bootstrap.
No description provided by the author
InlineDocument holds any arbitrary JSON/YAML documents, such as extra config parameters or IAM policies.
NodeGroupType defines the nodegroup type.
No description provided by the author
VPCGatewayID the ID of the gateway that facilitates external connectivity from customer's VPC to their remote network(s).