2025/08/20 - Amazon Elastic Kubernetes Service - 4 updated api methods
Changes EKS Add-ons Custom Namespace Support
{'namespaceConfig': {'namespace': 'string'}}Response
{'addon': {'namespaceConfig': {'namespace': 'string'}}}
Creates an Amazon EKS add-on.
Amazon EKS add-ons help to automate the provisioning and lifecycle management of common operational software for Amazon EKS clusters. For more information, see Amazon EKS add-ons in the Amazon EKS User Guide.
See also: AWS API Documentation
Request Syntax
client.create_addon( clusterName='string', addonName='string', addonVersion='string', serviceAccountRoleArn='string', resolveConflicts='OVERWRITE'|'NONE'|'PRESERVE', clientRequestToken='string', tags={ 'string': 'string' }, configurationValues='string', podIdentityAssociations=[ { 'serviceAccount': 'string', 'roleArn': 'string' }, ], namespaceConfig={ 'namespace': 'string' } )
string
[REQUIRED]
The name of your cluster.
string
[REQUIRED]
The name of the add-on. The name must match one of the names returned by DescribeAddonVersions.
string
The version of the add-on. The version must match one of the versions returned by DescribeAddonVersions.
string
The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account. The role must be assigned the IAM permissions required by the add-on. If you don't specify an existing IAM role, then the add-on uses the permissions assigned to the node IAM role. For more information, see Amazon EKS node IAM role in the Amazon EKS User Guide.
string
How to resolve field value conflicts for an Amazon EKS add-on. Conflicts are handled based on the value you choose:
None – If the self-managed version of the add-on is installed on your cluster, Amazon EKS doesn't change the value. Creation of the add-on might fail.
Overwrite – If the self-managed version of the add-on is installed on your cluster and the Amazon EKS default value is different than the existing value, Amazon EKS changes the value to the Amazon EKS default value.
Preserve – This is similar to the NONE option. If the self-managed version of the add-on is installed on your cluster Amazon EKS doesn't change the add-on resource properties. Creation of the add-on might fail if conflicts are detected. This option works differently during the update operation. For more information, see UpdateAddon.
If you don't currently have the self-managed version of the add-on installed on your cluster, the Amazon EKS add-on is installed. Amazon EKS sets all values to default values, regardless of the option that you specify.
string
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
This field is autopopulated if not provided.
dict
Metadata that assists with categorization and organization. Each tag consists of a key and an optional value. You define both. Tags don't propagate to any other cluster or Amazon Web Services resources.
(string) --
One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.
(string) --
The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).
string
The set of configuration values for the add-on that's created. The values that you provide are validated against the schema returned by DescribeAddonConfiguration.
list
An array of EKS Pod Identity associations to be created. Each association maps a Kubernetes service account to an IAM role.
For more information, see Attach an IAM Role to an Amazon EKS add-on using EKS Pod Identity in the Amazon EKS User Guide.
(dict) --
A type of EKS Pod Identity association owned by an Amazon EKS add-on.
Each association maps a role to a service account in a namespace in the cluster.
For more information, see Attach an IAM Role to an Amazon EKS add-on using EKS Pod Identity in the Amazon EKS User Guide.
serviceAccount (string) -- [REQUIRED]
The name of a Kubernetes Service Account.
roleArn (string) -- [REQUIRED]
The ARN of an IAM Role.
dict
The namespace configuration for the addon. If specified, this will override the default namespace for the addon.
namespace (string) --
The name of the Kubernetes namespace to install the addon in. Must be a valid RFC 1123 DNS label.
dict
Response Syntax
{ 'addon': { 'addonName': 'string', 'clusterName': 'string', 'status': 'CREATING'|'ACTIVE'|'CREATE_FAILED'|'UPDATING'|'DELETING'|'DELETE_FAILED'|'DEGRADED'|'UPDATE_FAILED', 'addonVersion': 'string', 'health': { 'issues': [ { 'code': 'AccessDenied'|'InternalFailure'|'ClusterUnreachable'|'InsufficientNumberOfReplicas'|'ConfigurationConflict'|'AdmissionRequestDenied'|'UnsupportedAddonModification'|'K8sResourceNotFound'|'AddonSubscriptionNeeded'|'AddonPermissionFailure', 'message': 'string', 'resourceIds': [ 'string', ] }, ] }, 'addonArn': 'string', 'createdAt': datetime(2015, 1, 1), 'modifiedAt': datetime(2015, 1, 1), 'serviceAccountRoleArn': 'string', 'tags': { 'string': 'string' }, 'publisher': 'string', 'owner': 'string', 'marketplaceInformation': { 'productId': 'string', 'productUrl': 'string' }, 'configurationValues': 'string', 'podIdentityAssociations': [ 'string', ], 'namespaceConfig': { 'namespace': 'string' } } }
Response Structure
(dict) --
addon (dict) --
An Amazon EKS add-on. For more information, see Amazon EKS add-ons in the Amazon EKS User Guide.
addonName (string) --
The name of the add-on.
clusterName (string) --
The name of your cluster.
status (string) --
The status of the add-on.
addonVersion (string) --
The version of the add-on.
health (dict) --
An object that represents the health of the add-on.
issues (list) --
An object representing the health issues for an add-on.
(dict) --
An issue related to an add-on.
code (string) --
A code that describes the type of issue.
message (string) --
A message that provides details about the issue and what might cause it.
resourceIds (list) --
The resource IDs of the issue.
(string) --
addonArn (string) --
The Amazon Resource Name (ARN) of the add-on.
createdAt (datetime) --
The Unix epoch timestamp at object creation.
modifiedAt (datetime) --
The Unix epoch timestamp for the last modification to the object.
serviceAccountRoleArn (string) --
The Amazon Resource Name (ARN) of the IAM role that's bound to the Kubernetes ServiceAccount object that the add-on uses.
tags (dict) --
Metadata that assists with categorization and organization. Each tag consists of a key and an optional value. You define both. Tags don't propagate to any other cluster or Amazon Web Services resources.
(string) --
One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.
(string) --
The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).
publisher (string) --
The publisher of the add-on.
owner (string) --
The owner of the add-on.
marketplaceInformation (dict) --
Information about an Amazon EKS add-on from the Amazon Web Services Marketplace.
productId (string) --
The product ID from the Amazon Web Services Marketplace.
productUrl (string) --
The product URL from the Amazon Web Services Marketplace.
configurationValues (string) --
The configuration values that you provided.
podIdentityAssociations (list) --
An array of EKS Pod Identity associations owned by the add-on. Each association maps a role to a service account in a namespace in the cluster.
For more information, see Attach an IAM Role to an Amazon EKS add-on using EKS Pod Identity in the Amazon EKS User Guide.
(string) --
namespaceConfig (dict) --
The namespace configuration for the addon. This specifies the Kubernetes namespace where the addon is installed.
namespace (string) --
The name of the Kubernetes namespace where the addon is installed.
{'addon': {'namespaceConfig': {'namespace': 'string'}}}
Deletes an Amazon EKS add-on.
When you remove an add-on, it's deleted from the cluster. You can always manually start an add-on on the cluster using the Kubernetes API.
See also: AWS API Documentation
Request Syntax
client.delete_addon( clusterName='string', addonName='string', preserve=True|False )
string
[REQUIRED]
The name of your cluster.
string
[REQUIRED]
The name of the add-on. The name must match one of the names returned by ListAddons.
boolean
Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on. If an IAM account is associated with the add-on, it isn't removed.
dict
Response Syntax
{ 'addon': { 'addonName': 'string', 'clusterName': 'string', 'status': 'CREATING'|'ACTIVE'|'CREATE_FAILED'|'UPDATING'|'DELETING'|'DELETE_FAILED'|'DEGRADED'|'UPDATE_FAILED', 'addonVersion': 'string', 'health': { 'issues': [ { 'code': 'AccessDenied'|'InternalFailure'|'ClusterUnreachable'|'InsufficientNumberOfReplicas'|'ConfigurationConflict'|'AdmissionRequestDenied'|'UnsupportedAddonModification'|'K8sResourceNotFound'|'AddonSubscriptionNeeded'|'AddonPermissionFailure', 'message': 'string', 'resourceIds': [ 'string', ] }, ] }, 'addonArn': 'string', 'createdAt': datetime(2015, 1, 1), 'modifiedAt': datetime(2015, 1, 1), 'serviceAccountRoleArn': 'string', 'tags': { 'string': 'string' }, 'publisher': 'string', 'owner': 'string', 'marketplaceInformation': { 'productId': 'string', 'productUrl': 'string' }, 'configurationValues': 'string', 'podIdentityAssociations': [ 'string', ], 'namespaceConfig': { 'namespace': 'string' } } }
Response Structure
(dict) --
addon (dict) --
An Amazon EKS add-on. For more information, see Amazon EKS add-ons in the Amazon EKS User Guide.
addonName (string) --
The name of the add-on.
clusterName (string) --
The name of your cluster.
status (string) --
The status of the add-on.
addonVersion (string) --
The version of the add-on.
health (dict) --
An object that represents the health of the add-on.
issues (list) --
An object representing the health issues for an add-on.
(dict) --
An issue related to an add-on.
code (string) --
A code that describes the type of issue.
message (string) --
A message that provides details about the issue and what might cause it.
resourceIds (list) --
The resource IDs of the issue.
(string) --
addonArn (string) --
The Amazon Resource Name (ARN) of the add-on.
createdAt (datetime) --
The Unix epoch timestamp at object creation.
modifiedAt (datetime) --
The Unix epoch timestamp for the last modification to the object.
serviceAccountRoleArn (string) --
The Amazon Resource Name (ARN) of the IAM role that's bound to the Kubernetes ServiceAccount object that the add-on uses.
tags (dict) --
Metadata that assists with categorization and organization. Each tag consists of a key and an optional value. You define both. Tags don't propagate to any other cluster or Amazon Web Services resources.
(string) --
One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.
(string) --
The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).
publisher (string) --
The publisher of the add-on.
owner (string) --
The owner of the add-on.
marketplaceInformation (dict) --
Information about an Amazon EKS add-on from the Amazon Web Services Marketplace.
productId (string) --
The product ID from the Amazon Web Services Marketplace.
productUrl (string) --
The product URL from the Amazon Web Services Marketplace.
configurationValues (string) --
The configuration values that you provided.
podIdentityAssociations (list) --
An array of EKS Pod Identity associations owned by the add-on. Each association maps a role to a service account in a namespace in the cluster.
For more information, see Attach an IAM Role to an Amazon EKS add-on using EKS Pod Identity in the Amazon EKS User Guide.
(string) --
namespaceConfig (dict) --
The namespace configuration for the addon. This specifies the Kubernetes namespace where the addon is installed.
namespace (string) --
The name of the Kubernetes namespace where the addon is installed.
{'addon': {'namespaceConfig': {'namespace': 'string'}}}
Describes an Amazon EKS add-on.
See also: AWS API Documentation
Request Syntax
client.describe_addon( clusterName='string', addonName='string' )
string
[REQUIRED]
The name of your cluster.
string
[REQUIRED]
The name of the add-on. The name must match one of the names returned by ListAddons.
dict
Response Syntax
{ 'addon': { 'addonName': 'string', 'clusterName': 'string', 'status': 'CREATING'|'ACTIVE'|'CREATE_FAILED'|'UPDATING'|'DELETING'|'DELETE_FAILED'|'DEGRADED'|'UPDATE_FAILED', 'addonVersion': 'string', 'health': { 'issues': [ { 'code': 'AccessDenied'|'InternalFailure'|'ClusterUnreachable'|'InsufficientNumberOfReplicas'|'ConfigurationConflict'|'AdmissionRequestDenied'|'UnsupportedAddonModification'|'K8sResourceNotFound'|'AddonSubscriptionNeeded'|'AddonPermissionFailure', 'message': 'string', 'resourceIds': [ 'string', ] }, ] }, 'addonArn': 'string', 'createdAt': datetime(2015, 1, 1), 'modifiedAt': datetime(2015, 1, 1), 'serviceAccountRoleArn': 'string', 'tags': { 'string': 'string' }, 'publisher': 'string', 'owner': 'string', 'marketplaceInformation': { 'productId': 'string', 'productUrl': 'string' }, 'configurationValues': 'string', 'podIdentityAssociations': [ 'string', ], 'namespaceConfig': { 'namespace': 'string' } } }
Response Structure
(dict) --
addon (dict) --
An Amazon EKS add-on. For more information, see Amazon EKS add-ons in the Amazon EKS User Guide.
addonName (string) --
The name of the add-on.
clusterName (string) --
The name of your cluster.
status (string) --
The status of the add-on.
addonVersion (string) --
The version of the add-on.
health (dict) --
An object that represents the health of the add-on.
issues (list) --
An object representing the health issues for an add-on.
(dict) --
An issue related to an add-on.
code (string) --
A code that describes the type of issue.
message (string) --
A message that provides details about the issue and what might cause it.
resourceIds (list) --
The resource IDs of the issue.
(string) --
addonArn (string) --
The Amazon Resource Name (ARN) of the add-on.
createdAt (datetime) --
The Unix epoch timestamp at object creation.
modifiedAt (datetime) --
The Unix epoch timestamp for the last modification to the object.
serviceAccountRoleArn (string) --
The Amazon Resource Name (ARN) of the IAM role that's bound to the Kubernetes ServiceAccount object that the add-on uses.
tags (dict) --
Metadata that assists with categorization and organization. Each tag consists of a key and an optional value. You define both. Tags don't propagate to any other cluster or Amazon Web Services resources.
(string) --
One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.
(string) --
The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).
publisher (string) --
The publisher of the add-on.
owner (string) --
The owner of the add-on.
marketplaceInformation (dict) --
Information about an Amazon EKS add-on from the Amazon Web Services Marketplace.
productId (string) --
The product ID from the Amazon Web Services Marketplace.
productUrl (string) --
The product URL from the Amazon Web Services Marketplace.
configurationValues (string) --
The configuration values that you provided.
podIdentityAssociations (list) --
An array of EKS Pod Identity associations owned by the add-on. Each association maps a role to a service account in a namespace in the cluster.
For more information, see Attach an IAM Role to an Amazon EKS add-on using EKS Pod Identity in the Amazon EKS User Guide.
(string) --
namespaceConfig (dict) --
The namespace configuration for the addon. This specifies the Kubernetes namespace where the addon is installed.
namespace (string) --
The name of the Kubernetes namespace where the addon is installed.
{'addons': {'defaultNamespace': 'string'}}
Describes the versions for an add-on.
Information such as the Kubernetes versions that you can use the add-on with, the owner, publisher, and the type of the add-on are returned.
See also: AWS API Documentation
Request Syntax
client.describe_addon_versions( kubernetesVersion='string', maxResults=123, nextToken='string', addonName='string', types=[ 'string', ], publishers=[ 'string', ], owners=[ 'string', ] )
string
The Kubernetes versions that you can use the add-on with.
integer
The maximum number of results, returned in paginated output. You receive maxResults in a single page, along with a nextToken response element. You can see the remaining results of the initial request by sending another request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, 100 results and a nextToken value, if applicable, are returned.
string
The nextToken value returned from a previous paginated request, where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return.
string
The name of the add-on. The name must match one of the names returned by ListAddons.
list
The type of the add-on. For valid types, don't specify a value for this property.
(string) --
list
The publisher of the add-on. For valid publishers, don't specify a value for this property.
(string) --
list
The owner of the add-on. For valid owners, don't specify a value for this property.
(string) --
dict
Response Syntax
{ 'addons': [ { 'addonName': 'string', 'type': 'string', 'addonVersions': [ { 'addonVersion': 'string', 'architecture': [ 'string', ], 'computeTypes': [ 'string', ], 'compatibilities': [ { 'clusterVersion': 'string', 'platformVersions': [ 'string', ], 'defaultVersion': True|False }, ], 'requiresConfiguration': True|False, 'requiresIamPermissions': True|False }, ], 'publisher': 'string', 'owner': 'string', 'marketplaceInformation': { 'productId': 'string', 'productUrl': 'string' }, 'defaultNamespace': 'string' }, ], 'nextToken': 'string' }
Response Structure
(dict) --
addons (list) --
The list of available versions with Kubernetes version compatibility and other properties.
(dict) --
Information about an add-on.
addonName (string) --
The name of the add-on.
type (string) --
The type of the add-on.
addonVersions (list) --
An object representing information about available add-on versions and compatible Kubernetes versions.
(dict) --
Information about an add-on version.
addonVersion (string) --
The version of the add-on.
architecture (list) --
The architectures that the version supports.
(string) --
computeTypes (list) --
Indicates the compute type of the add-on version.
(string) --
compatibilities (list) --
An object representing the compatibilities of a version.
(dict) --
Compatibility information.
clusterVersion (string) --
The supported Kubernetes version of the cluster.
platformVersions (list) --
The supported compute platform.
(string) --
defaultVersion (boolean) --
The supported default version.
requiresConfiguration (boolean) --
Whether the add-on requires configuration.
requiresIamPermissions (boolean) --
Indicates if the add-on requires IAM Permissions to operate, such as networking permissions.
publisher (string) --
The publisher of the add-on.
owner (string) --
The owner of the add-on.
marketplaceInformation (dict) --
Information about the add-on from the Amazon Web Services Marketplace.
productId (string) --
The product ID from the Amazon Web Services Marketplace.
productUrl (string) --
The product URL from the Amazon Web Services Marketplace.
defaultNamespace (string) --
The default Kubernetes namespace where this addon is typically installed if no custom namespace is specified.
nextToken (string) --
The nextToken value to include in a future DescribeAddonVersions request. When the results of a DescribeAddonVersions request exceed maxResults, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.