Amazon Elastic Kubernetes Service

2025/12/01 - Amazon Elastic Kubernetes Service - 5 new2 updated api methods

Changes  This release adds support for EKS Capabilities

DeleteCapability (new) Link ¶

Deletes a managed capability from your Amazon EKS cluster. When you delete a capability, Amazon EKS removes the capability infrastructure but retains all resources that were managed by the capability.

Before deleting a capability, you should delete all Kubernetes resources that were created by the capability. After the capability is deleted, these resources become difficult to manage because the controller that managed them is no longer available. To delete resources before removing the capability, use kubectl delete or remove them through your GitOps workflow.

See also: AWS API Documentation

Request Syntax

client.delete_capability(
    clusterName='string',
    capabilityName='string'
)
type clusterName:

string

param clusterName:

[REQUIRED]

The name of the Amazon EKS cluster that contains the capability you want to delete.

type capabilityName:

string

param capabilityName:

[REQUIRED]

The name of the capability to delete.

rtype:

dict

returns:

Response Syntax

{
    'capability': {
        'capabilityName': 'string',
        'arn': 'string',
        'clusterName': 'string',
        'type': 'ACK'|'KRO'|'ARGOCD',
        'roleArn': 'string',
        'status': 'CREATING'|'CREATE_FAILED'|'UPDATING'|'DELETING'|'DELETE_FAILED'|'ACTIVE'|'DEGRADED',
        'version': 'string',
        'configuration': {
            'argoCd': {
                'namespace': 'string',
                'awsIdc': {
                    'idcInstanceArn': 'string',
                    'idcRegion': 'string',
                    'idcManagedApplicationArn': 'string'
                },
                'rbacRoleMappings': [
                    {
                        'role': 'ADMIN'|'EDITOR'|'VIEWER',
                        'identities': [
                            {
                                'id': 'string',
                                'type': 'SSO_USER'|'SSO_GROUP'
                            },
                        ]
                    },
                ],
                'networkAccess': {
                    'vpceIds': [
                        'string',
                    ]
                },
                'serverUrl': 'string'
            }
        },
        'tags': {
            'string': 'string'
        },
        'health': {
            'issues': [
                {
                    'code': 'AccessDenied'|'ClusterUnreachable',
                    'message': 'string'
                },
            ]
        },
        'createdAt': datetime(2015, 1, 1),
        'modifiedAt': datetime(2015, 1, 1),
        'deletePropagationPolicy': 'RETAIN'
    }
}

Response Structure

  • (dict) --

    • capability (dict) --

      An object containing information about the deleted capability, including its final status and configuration.

      • capabilityName (string) --

        The unique name of the capability within the cluster.

      • arn (string) --

        The Amazon Resource Name (ARN) of the capability.

      • clusterName (string) --

        The name of the Amazon EKS cluster that contains this capability.

      • type (string) --

        The type of capability. Valid values are ACK, ARGOCD, or KRO.

      • roleArn (string) --

        The Amazon Resource Name (ARN) of the IAM role that the capability uses to interact with Amazon Web Services services.

      • status (string) --

        The current status of the capability. Valid values include:

        • CREATING – The capability is being created.

        • ACTIVE – The capability is running and available.

        • UPDATING – The capability is being updated.

        • DELETING – The capability is being deleted.

        • CREATE_FAILED – The capability creation failed.

        • UPDATE_FAILED – The capability update failed.

        • DELETE_FAILED – The capability deletion failed.

      • version (string) --

        The version of the capability software that is currently running.

      • configuration (dict) --

        The configuration settings for the capability. The structure varies depending on the capability type.

        • argoCd (dict) --

          Configuration settings for an Argo CD capability, including the server URL and other Argo CD-specific settings.

          • namespace (string) --

            The Kubernetes namespace where Argo CD resources are monitored by your Argo CD Capability.

          • awsIdc (dict) --

            The IAM Identity CenterIAM; Identity Center integration configuration.

            • idcInstanceArn (string) --

              The Amazon Resource Name (ARN) of the IAM Identity CenterIAM; Identity Center instance used for authentication.

            • idcRegion (string) --

              The Region where the IAM Identity CenterIAM; Identity Center instance is located.

            • idcManagedApplicationArn (string) --

              The Amazon Resource Name (ARN) of the managed application created in IAM Identity CenterIAM; Identity Center for this Argo CD capability. This application is automatically created and managed by Amazon EKS.

          • rbacRoleMappings (list) --

            The list of role mappings that define which IAM Identity CenterIAM; Identity Center users or groups have which Argo CD roles.

            • (dict) --

              A mapping between an Argo CD role and IAM Identity CenterIAM; Identity Center identities. This defines which users or groups have specific permissions in Argo CD.

              • role (string) --

                The Argo CD role to assign. Valid values are:

                • ADMIN – Full administrative access to Argo CD.

                • EDITOR – Edit access to Argo CD resources.

                • VIEWER – Read-only access to Argo CD resources.

              • identities (list) --

                A list of IAM Identity CenterIAM; Identity Center identities (users or groups) that should be assigned this Argo CD role.

                • (dict) --

                  An IAM Identity CenterIAM; Identity Center identity (user or group) that can be assigned permissions in a capability.

                  • id (string) --

                    The unique identifier of the IAM Identity CenterIAM; Identity Center user or group.

                  • type (string) --

                    The type of identity. Valid values are SSO_USER or SSO_GROUP.

          • networkAccess (dict) --

            The network access configuration for the Argo CD capability's managed API server endpoint. If VPC endpoint IDs are specified, public access is blocked and the Argo CD server is only accessible through the specified VPC endpoints.

            • vpceIds (list) --

              The list of VPC endpoint IDs associated with the managed Argo CD API server endpoint. Each VPC endpoint provides private connectivity from a specific VPC to the Argo CD server.

              • (string) --

          • serverUrl (string) --

            The URL of the Argo CD server. Use this URL to access the Argo CD web interface and API.

      • tags (dict) --

        The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value. You define them.

        The following basic restrictions apply to tags:

        • Maximum number of tags per resource – 50

        • For each resource, each tag key must be unique, and each tag key can have only one value.

        • Maximum key length – 128 Unicode characters in UTF-8

        • Maximum value length – 256 Unicode characters in UTF-8

        • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

        • Tag keys and values are case-sensitive.

        • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

        • (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).

      • health (dict) --

        Health information for the capability, including any issues that may be affecting its operation.

        • issues (list) --

          A list of issues affecting the capability. If this list is empty, the capability is healthy.

          • (dict) --

            An issue affecting a capability's health or operation.

            • code (string) --

              A code identifying the type of issue. This can be used to programmatically handle specific issue types.

            • message (string) --

              A human-readable message describing the issue and potential remediation steps.

      • createdAt (datetime) --

        The Unix epoch timestamp in seconds for when the capability was created.

      • modifiedAt (datetime) --

        The Unix epoch timestamp in seconds for when the capability was last modified.

      • deletePropagationPolicy (string) --

        The delete propagation policy for the capability. Currently, the only supported value is RETAIN, which keeps all resources managed by the capability when the capability is deleted.

ListCapabilities (new) Link ¶

Lists all managed capabilities in your Amazon EKS cluster. You can use this operation to get an overview of all capabilities and their current status.

See also: AWS API Documentation

Request Syntax

client.list_capabilities(
    clusterName='string',
    nextToken='string',
    maxResults=123
)
type clusterName:

string

param clusterName:

[REQUIRED]

The name of the Amazon EKS cluster for which you want to list capabilities.

type nextToken:

string

param nextToken:

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.

type maxResults:

integer

param maxResults:

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value. If you don't specify a value, the default is 100 results.

rtype:

dict

returns:

Response Syntax

{
    'capabilities': [
        {
            'capabilityName': 'string',
            'arn': 'string',
            'type': 'ACK'|'KRO'|'ARGOCD',
            'status': 'CREATING'|'CREATE_FAILED'|'UPDATING'|'DELETING'|'DELETE_FAILED'|'ACTIVE'|'DEGRADED',
            'version': 'string',
            'createdAt': datetime(2015, 1, 1),
            'modifiedAt': datetime(2015, 1, 1)
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • capabilities (list) --

      A list of capability summary objects, each containing basic information about a capability including its name, ARN, type, status, version, and timestamps.

      • (dict) --

        A summary of a capability, containing basic information without the full configuration details. This is returned by the ListCapabilities operation.

        • capabilityName (string) --

          The unique name of the capability within the cluster.

        • arn (string) --

          The Amazon Resource Name (ARN) of the capability.

        • type (string) --

          The type of capability. Valid values are ACK, ARGOCD, or KRO.

        • status (string) --

          The current status of the capability.

        • version (string) --

          The version of the capability software that is currently running.

        • createdAt (datetime) --

          The Unix epoch timestamp in seconds for when the capability was created.

        • modifiedAt (datetime) --

          The Unix epoch timestamp in seconds for when the capability was last modified.

    • nextToken (string) --

      The nextToken value to include in a future ListCapabilities request. When the results of a ListCapabilities 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.

DescribeCapability (new) Link ¶

Returns detailed information about a specific managed capability in your Amazon EKS cluster, including its current status, configuration, health information, and any issues that may be affecting its operation.

See also: AWS API Documentation

Request Syntax

client.describe_capability(
    clusterName='string',
    capabilityName='string'
)
type clusterName:

string

param clusterName:

[REQUIRED]

The name of the Amazon EKS cluster that contains the capability you want to describe.

type capabilityName:

string

param capabilityName:

[REQUIRED]

The name of the capability to describe.

rtype:

dict

returns:

Response Syntax

{
    'capability': {
        'capabilityName': 'string',
        'arn': 'string',
        'clusterName': 'string',
        'type': 'ACK'|'KRO'|'ARGOCD',
        'roleArn': 'string',
        'status': 'CREATING'|'CREATE_FAILED'|'UPDATING'|'DELETING'|'DELETE_FAILED'|'ACTIVE'|'DEGRADED',
        'version': 'string',
        'configuration': {
            'argoCd': {
                'namespace': 'string',
                'awsIdc': {
                    'idcInstanceArn': 'string',
                    'idcRegion': 'string',
                    'idcManagedApplicationArn': 'string'
                },
                'rbacRoleMappings': [
                    {
                        'role': 'ADMIN'|'EDITOR'|'VIEWER',
                        'identities': [
                            {
                                'id': 'string',
                                'type': 'SSO_USER'|'SSO_GROUP'
                            },
                        ]
                    },
                ],
                'networkAccess': {
                    'vpceIds': [
                        'string',
                    ]
                },
                'serverUrl': 'string'
            }
        },
        'tags': {
            'string': 'string'
        },
        'health': {
            'issues': [
                {
                    'code': 'AccessDenied'|'ClusterUnreachable',
                    'message': 'string'
                },
            ]
        },
        'createdAt': datetime(2015, 1, 1),
        'modifiedAt': datetime(2015, 1, 1),
        'deletePropagationPolicy': 'RETAIN'
    }
}

Response Structure

  • (dict) --

    • capability (dict) --

      An object containing detailed information about the capability, including its name, ARN, type, status, version, configuration, health status, and timestamps for when it was created and last modified.

      • capabilityName (string) --

        The unique name of the capability within the cluster.

      • arn (string) --

        The Amazon Resource Name (ARN) of the capability.

      • clusterName (string) --

        The name of the Amazon EKS cluster that contains this capability.

      • type (string) --

        The type of capability. Valid values are ACK, ARGOCD, or KRO.

      • roleArn (string) --

        The Amazon Resource Name (ARN) of the IAM role that the capability uses to interact with Amazon Web Services services.

      • status (string) --

        The current status of the capability. Valid values include:

        • CREATING – The capability is being created.

        • ACTIVE – The capability is running and available.

        • UPDATING – The capability is being updated.

        • DELETING – The capability is being deleted.

        • CREATE_FAILED – The capability creation failed.

        • UPDATE_FAILED – The capability update failed.

        • DELETE_FAILED – The capability deletion failed.

      • version (string) --

        The version of the capability software that is currently running.

      • configuration (dict) --

        The configuration settings for the capability. The structure varies depending on the capability type.

        • argoCd (dict) --

          Configuration settings for an Argo CD capability, including the server URL and other Argo CD-specific settings.

          • namespace (string) --

            The Kubernetes namespace where Argo CD resources are monitored by your Argo CD Capability.

          • awsIdc (dict) --

            The IAM Identity CenterIAM; Identity Center integration configuration.

            • idcInstanceArn (string) --

              The Amazon Resource Name (ARN) of the IAM Identity CenterIAM; Identity Center instance used for authentication.

            • idcRegion (string) --

              The Region where the IAM Identity CenterIAM; Identity Center instance is located.

            • idcManagedApplicationArn (string) --

              The Amazon Resource Name (ARN) of the managed application created in IAM Identity CenterIAM; Identity Center for this Argo CD capability. This application is automatically created and managed by Amazon EKS.

          • rbacRoleMappings (list) --

            The list of role mappings that define which IAM Identity CenterIAM; Identity Center users or groups have which Argo CD roles.

            • (dict) --

              A mapping between an Argo CD role and IAM Identity CenterIAM; Identity Center identities. This defines which users or groups have specific permissions in Argo CD.

              • role (string) --

                The Argo CD role to assign. Valid values are:

                • ADMIN – Full administrative access to Argo CD.

                • EDITOR – Edit access to Argo CD resources.

                • VIEWER – Read-only access to Argo CD resources.

              • identities (list) --

                A list of IAM Identity CenterIAM; Identity Center identities (users or groups) that should be assigned this Argo CD role.

                • (dict) --

                  An IAM Identity CenterIAM; Identity Center identity (user or group) that can be assigned permissions in a capability.

                  • id (string) --

                    The unique identifier of the IAM Identity CenterIAM; Identity Center user or group.

                  • type (string) --

                    The type of identity. Valid values are SSO_USER or SSO_GROUP.

          • networkAccess (dict) --

            The network access configuration for the Argo CD capability's managed API server endpoint. If VPC endpoint IDs are specified, public access is blocked and the Argo CD server is only accessible through the specified VPC endpoints.

            • vpceIds (list) --

              The list of VPC endpoint IDs associated with the managed Argo CD API server endpoint. Each VPC endpoint provides private connectivity from a specific VPC to the Argo CD server.

              • (string) --

          • serverUrl (string) --

            The URL of the Argo CD server. Use this URL to access the Argo CD web interface and API.

      • tags (dict) --

        The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value. You define them.

        The following basic restrictions apply to tags:

        • Maximum number of tags per resource – 50

        • For each resource, each tag key must be unique, and each tag key can have only one value.

        • Maximum key length – 128 Unicode characters in UTF-8

        • Maximum value length – 256 Unicode characters in UTF-8

        • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

        • Tag keys and values are case-sensitive.

        • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

        • (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).

      • health (dict) --

        Health information for the capability, including any issues that may be affecting its operation.

        • issues (list) --

          A list of issues affecting the capability. If this list is empty, the capability is healthy.

          • (dict) --

            An issue affecting a capability's health or operation.

            • code (string) --

              A code identifying the type of issue. This can be used to programmatically handle specific issue types.

            • message (string) --

              A human-readable message describing the issue and potential remediation steps.

      • createdAt (datetime) --

        The Unix epoch timestamp in seconds for when the capability was created.

      • modifiedAt (datetime) --

        The Unix epoch timestamp in seconds for when the capability was last modified.

      • deletePropagationPolicy (string) --

        The delete propagation policy for the capability. Currently, the only supported value is RETAIN, which keeps all resources managed by the capability when the capability is deleted.

UpdateCapability (new) Link ¶

Updates the configuration of a managed capability in your Amazon EKS cluster. You can update the IAM role, configuration settings, and delete propagation policy for a capability.

When you update a capability, Amazon EKS applies the changes and may restart capability components as needed. The capability remains available during the update process, but some operations may be temporarily unavailable.

See also: AWS API Documentation

Request Syntax

client.update_capability(
    clusterName='string',
    capabilityName='string',
    roleArn='string',
    configuration={
        'argoCd': {
            'rbacRoleMappings': {
                'addOrUpdateRoleMappings': [
                    {
                        'role': 'ADMIN'|'EDITOR'|'VIEWER',
                        'identities': [
                            {
                                'id': 'string',
                                'type': 'SSO_USER'|'SSO_GROUP'
                            },
                        ]
                    },
                ],
                'removeRoleMappings': [
                    {
                        'role': 'ADMIN'|'EDITOR'|'VIEWER',
                        'identities': [
                            {
                                'id': 'string',
                                'type': 'SSO_USER'|'SSO_GROUP'
                            },
                        ]
                    },
                ]
            },
            'networkAccess': {
                'vpceIds': [
                    'string',
                ]
            }
        }
    },
    clientRequestToken='string',
    deletePropagationPolicy='RETAIN'
)
type clusterName:

string

param clusterName:

[REQUIRED]

The name of the Amazon EKS cluster that contains the capability you want to update configuration for.

type capabilityName:

string

param capabilityName:

[REQUIRED]

The name of the capability to update configuration for.

type roleArn:

string

param roleArn:

The Amazon Resource Name (ARN) of the IAM role that the capability uses to interact with Amazon Web Services services. If you specify a new role ARN, the capability will start using the new role for all subsequent operations.

type configuration:

dict

param configuration:

The updated configuration settings for the capability. You only need to specify the configuration parameters you want to change. For Argo CD capabilities, you can update RBAC role mappings and network access settings.

  • argoCd (dict) --

    Configuration updates specific to Argo CD capabilities.

    • rbacRoleMappings (dict) --

      Updated RBAC role mappings for the Argo CD capability. You can add, update, or remove role mappings.

      • addOrUpdateRoleMappings (list) --

        A list of role mappings to add or update. If a mapping for the specified role already exists, it will be updated with the new identities. If it doesn't exist, a new mapping will be created.

        • (dict) --

          A mapping between an Argo CD role and IAM Identity CenterIAM; Identity Center identities. This defines which users or groups have specific permissions in Argo CD.

          • role (string) -- [REQUIRED]

            The Argo CD role to assign. Valid values are:

            • ADMIN – Full administrative access to Argo CD.

            • EDITOR – Edit access to Argo CD resources.

            • VIEWER – Read-only access to Argo CD resources.

          • identities (list) -- [REQUIRED]

            A list of IAM Identity CenterIAM; Identity Center identities (users or groups) that should be assigned this Argo CD role.

            • (dict) --

              An IAM Identity CenterIAM; Identity Center identity (user or group) that can be assigned permissions in a capability.

              • id (string) -- [REQUIRED]

                The unique identifier of the IAM Identity CenterIAM; Identity Center user or group.

              • type (string) -- [REQUIRED]

                The type of identity. Valid values are SSO_USER or SSO_GROUP.

      • removeRoleMappings (list) --

        A list of role mappings to remove from the RBAC configuration. Each mapping specifies an Argo CD role ( ADMIN, EDITOR, or VIEWER) and the identities to remove from that role.

        • (dict) --

          A mapping between an Argo CD role and IAM Identity CenterIAM; Identity Center identities. This defines which users or groups have specific permissions in Argo CD.

          • role (string) -- [REQUIRED]

            The Argo CD role to assign. Valid values are:

            • ADMIN – Full administrative access to Argo CD.

            • EDITOR – Edit access to Argo CD resources.

            • VIEWER – Read-only access to Argo CD resources.

          • identities (list) -- [REQUIRED]

            A list of IAM Identity CenterIAM; Identity Center identities (users or groups) that should be assigned this Argo CD role.

            • (dict) --

              An IAM Identity CenterIAM; Identity Center identity (user or group) that can be assigned permissions in a capability.

              • id (string) -- [REQUIRED]

                The unique identifier of the IAM Identity CenterIAM; Identity Center user or group.

              • type (string) -- [REQUIRED]

                The type of identity. Valid values are SSO_USER or SSO_GROUP.

    • networkAccess (dict) --

      Updated network access configuration for the Argo CD capability's managed API server endpoint. You can add or remove VPC endpoint associations to control which VPCs have private access to the Argo CD server.

      • vpceIds (list) --

        A list of VPC endpoint IDs to associate with the managed Argo CD API server endpoint. Each VPC endpoint provides private connectivity from a specific VPC to the Argo CD server. You can specify multiple VPC endpoint IDs to enable access from multiple VPCs.

        • (string) --

type clientRequestToken:

string

param clientRequestToken:

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This token is valid for 24 hours after creation.

This field is autopopulated if not provided.

type deletePropagationPolicy:

string

param deletePropagationPolicy:

The updated delete propagation policy for the capability. Currently, the only supported value is RETAIN.

rtype:

dict

returns:

Response Syntax

{
    'update': {
        'id': 'string',
        'status': 'InProgress'|'Failed'|'Cancelled'|'Successful',
        'type': 'VersionUpdate'|'EndpointAccessUpdate'|'LoggingUpdate'|'ConfigUpdate'|'AssociateIdentityProviderConfig'|'DisassociateIdentityProviderConfig'|'AssociateEncryptionConfig'|'AddonUpdate'|'VpcConfigUpdate'|'AccessConfigUpdate'|'UpgradePolicyUpdate'|'ZonalShiftConfigUpdate'|'AutoModeUpdate'|'RemoteNetworkConfigUpdate'|'DeletionProtectionUpdate'|'ControlPlaneScalingConfigUpdate',
        'params': [
            {
                'type': 'Version'|'PlatformVersion'|'EndpointPrivateAccess'|'EndpointPublicAccess'|'ClusterLogging'|'DesiredSize'|'LabelsToAdd'|'LabelsToRemove'|'TaintsToAdd'|'TaintsToRemove'|'MaxSize'|'MinSize'|'ReleaseVersion'|'PublicAccessCidrs'|'LaunchTemplateName'|'LaunchTemplateVersion'|'IdentityProviderConfig'|'EncryptionConfig'|'AddonVersion'|'ServiceAccountRoleArn'|'ResolveConflicts'|'MaxUnavailable'|'MaxUnavailablePercentage'|'NodeRepairEnabled'|'UpdateStrategy'|'ConfigurationValues'|'SecurityGroups'|'Subnets'|'AuthenticationMode'|'PodIdentityAssociations'|'UpgradePolicy'|'ZonalShiftConfig'|'ComputeConfig'|'StorageConfig'|'KubernetesNetworkConfig'|'RemoteNetworkConfig'|'DeletionProtection'|'NodeRepairConfig'|'UpdatedTier'|'PreviousTier',
                'value': 'string'
            },
        ],
        'createdAt': datetime(2015, 1, 1),
        'errors': [
            {
                'errorCode': 'SubnetNotFound'|'SecurityGroupNotFound'|'EniLimitReached'|'IpNotAvailable'|'AccessDenied'|'OperationNotPermitted'|'VpcIdNotFound'|'Unknown'|'NodeCreationFailure'|'PodEvictionFailure'|'InsufficientFreeAddresses'|'ClusterUnreachable'|'InsufficientNumberOfReplicas'|'ConfigurationConflict'|'AdmissionRequestDenied'|'UnsupportedAddonModification'|'K8sResourceNotFound',
                'errorMessage': 'string',
                'resourceIds': [
                    'string',
                ]
            },
        ]
    }
}

Response Structure

  • (dict) --

    • update (dict) --

      An object representing an asynchronous update.

      • id (string) --

        A UUID that is used to track the update.

      • status (string) --

        The current status of the update.

      • type (string) --

        The type of the update.

      • params (list) --

        A key-value map that contains the parameters associated with the update.

        • (dict) --

          An object representing the details of an update request.

          • type (string) --

            The keys associated with an update request.

          • value (string) --

            The value of the keys submitted as part of an update request.

      • createdAt (datetime) --

        The Unix epoch timestamp at object creation.

      • errors (list) --

        Any errors associated with a Failed update.

        • (dict) --

          An object representing an error when an asynchronous operation fails.

          • errorCode (string) --

            A brief description of the error.

            • SubnetNotFound: We couldn't find one of the subnets associated with the cluster.

            • SecurityGroupNotFound: We couldn't find one of the security groups associated with the cluster.

            • EniLimitReached: You have reached the elastic network interface limit for your account.

            • IpNotAvailable: A subnet associated with the cluster doesn't have any available IP addresses.

            • AccessDenied: You don't have permissions to perform the specified operation.

            • OperationNotPermitted: The service role associated with the cluster doesn't have the required access permissions for Amazon EKS.

            • VpcIdNotFound: We couldn't find the VPC associated with the cluster.

          • errorMessage (string) --

            A more complete description of the error.

          • resourceIds (list) --

            An optional field that contains the resource IDs associated with the error.

            • (string) --

CreateCapability (new) Link ¶

Creates a managed capability resource for an Amazon EKS cluster.

Capabilities provide fully managed capabilities to build and scale with Kubernetes. When you create a capability, Amazon EKSprovisions and manages the infrastructure required to run the capability outside of your cluster. This approach reduces operational overhead and preserves cluster resources.

You can only create one Capability of each type on a given Amazon EKS cluster. Valid types are Argo CD for declarative GitOps deployment, Amazon Web Services Controllers for Kubernetes (ACK) for resource management, and Kube Resource Orchestrator (KRO) for Kubernetes custom resource orchestration.

For more information, see EKS Capabilities in the Amazon EKS User Guide.

See also: AWS API Documentation

Request Syntax

client.create_capability(
    capabilityName='string',
    clusterName='string',
    clientRequestToken='string',
    type='ACK'|'KRO'|'ARGOCD',
    roleArn='string',
    configuration={
        'argoCd': {
            'namespace': 'string',
            'awsIdc': {
                'idcInstanceArn': 'string',
                'idcRegion': 'string'
            },
            'rbacRoleMappings': [
                {
                    'role': 'ADMIN'|'EDITOR'|'VIEWER',
                    'identities': [
                        {
                            'id': 'string',
                            'type': 'SSO_USER'|'SSO_GROUP'
                        },
                    ]
                },
            ],
            'networkAccess': {
                'vpceIds': [
                    'string',
                ]
            }
        }
    },
    tags={
        'string': 'string'
    },
    deletePropagationPolicy='RETAIN'
)
type capabilityName:

string

param capabilityName:

[REQUIRED]

A unique name for the capability. The name must be unique within your cluster and can contain alphanumeric characters, hyphens, and underscores.

type clusterName:

string

param clusterName:

[REQUIRED]

The name of the Amazon EKS cluster where you want to create the capability.

type clientRequestToken:

string

param clientRequestToken:

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This token is valid for 24 hours after creation. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This field is autopopulated if not provided.

type type:

string

param type:

[REQUIRED]

The type of capability to create. Valid values are:

  • ACK – Amazon Web Services Controllers for Kubernetes (ACK), which lets you manage resources directly from Kubernetes.

  • ARGOCD – Argo CD for GitOps-based continuous delivery.

  • KRO – Kube Resource Orchestrator (KRO) for composing and managing custom Kubernetes resources.

type roleArn:

string

param roleArn:

[REQUIRED]

The Amazon Resource Name (ARN) of the IAM role that the capability uses to interact with Amazon Web Services services. This role must have a trust policy that allows the EKS service principal to assume it, and it must have the necessary permissions for the capability type you're creating.

For ACK capabilities, the role needs permissions to manage the resources you want to control through Kubernetes. For Argo CD capabilities, the role needs permissions to access Git repositories and Secrets Manager. For KRO capabilities, the role needs permissions based on the resources you'll be orchestrating.

type configuration:

dict

param configuration:

The configuration settings for the capability. The structure of this object varies depending on the capability type. For Argo CD capabilities, you can configure IAM Identity CenterIAM; Identity Center integration, RBAC role mappings, and network access settings.

  • argoCd (dict) --

    Configuration settings specific to Argo CD capabilities. This field is only used when creating or updating an Argo CD capability.

    • namespace (string) --

      The Kubernetes namespace where Argo CD resources will be created. If not specified, the default namespace is used.

    • awsIdc (dict) -- [REQUIRED]

      Configuration for IAM Identity CenterIAM; Identity Center integration. When configured, users can authenticate to Argo CD using their IAM Identity CenterIAM; Identity Center credentials.

      • idcInstanceArn (string) -- [REQUIRED]

        The Amazon Resource Name (ARN) of the IAM Identity CenterIAM; Identity Center instance to use for authentication.

      • idcRegion (string) --

        The Region where your IAM Identity CenterIAM; Identity Center instance is located.

    • rbacRoleMappings (list) --

      A list of role mappings that define which IAM Identity CenterIAM; Identity Center users or groups have which Argo CD roles. Each mapping associates an Argo CD role ( ADMIN, EDITOR, or VIEWER) with one or more IAM Identity CenterIAM; Identity Center identities.

      • (dict) --

        A mapping between an Argo CD role and IAM Identity CenterIAM; Identity Center identities. This defines which users or groups have specific permissions in Argo CD.

        • role (string) -- [REQUIRED]

          The Argo CD role to assign. Valid values are:

          • ADMIN – Full administrative access to Argo CD.

          • EDITOR – Edit access to Argo CD resources.

          • VIEWER – Read-only access to Argo CD resources.

        • identities (list) -- [REQUIRED]

          A list of IAM Identity CenterIAM; Identity Center identities (users or groups) that should be assigned this Argo CD role.

          • (dict) --

            An IAM Identity CenterIAM; Identity Center identity (user or group) that can be assigned permissions in a capability.

            • id (string) -- [REQUIRED]

              The unique identifier of the IAM Identity CenterIAM; Identity Center user or group.

            • type (string) -- [REQUIRED]

              The type of identity. Valid values are SSO_USER or SSO_GROUP.

    • networkAccess (dict) --

      Configuration for network access to the Argo CD capability's managed API server endpoint. By default, the Argo CD server is accessible via a public endpoint. You can optionally specify one or more VPC endpoint IDs to enable private connectivity from your VPCs. When VPC endpoints are configured, public access is blocked and the Argo CD server is only accessible through the specified VPC endpoints.

      • vpceIds (list) --

        A list of VPC endpoint IDs to associate with the managed Argo CD API server endpoint. Each VPC endpoint provides private connectivity from a specific VPC to the Argo CD server. You can specify multiple VPC endpoint IDs to enable access from multiple VPCs.

        • (string) --

type tags:

dict

param tags:

The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value. You define them.

The following basic restrictions apply to tags:

  • Maximum number of tags per resource – 50

  • For each resource, each tag key must be unique, and each tag key can have only one value.

  • Maximum key length – 128 Unicode characters in UTF-8

  • Maximum value length – 256 Unicode characters in UTF-8

  • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

  • Tag keys and values are case-sensitive.

  • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

  • (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).

type deletePropagationPolicy:

string

param deletePropagationPolicy:

[REQUIRED]

Specifies how Kubernetes resources managed by the capability should be handled when the capability is deleted. Currently, the only supported value is RETAIN which retains all Kubernetes resources managed by the capability when the capability is deleted.

Because resources are retained, all Kubernetes resources created by the capability should be deleted from the cluster before deleting the capability itself. After the capability is deleted, these resources become difficult to manage because the controller is no longer available.

rtype:

dict

returns:

Response Syntax

{
    'capability': {
        'capabilityName': 'string',
        'arn': 'string',
        'clusterName': 'string',
        'type': 'ACK'|'KRO'|'ARGOCD',
        'roleArn': 'string',
        'status': 'CREATING'|'CREATE_FAILED'|'UPDATING'|'DELETING'|'DELETE_FAILED'|'ACTIVE'|'DEGRADED',
        'version': 'string',
        'configuration': {
            'argoCd': {
                'namespace': 'string',
                'awsIdc': {
                    'idcInstanceArn': 'string',
                    'idcRegion': 'string',
                    'idcManagedApplicationArn': 'string'
                },
                'rbacRoleMappings': [
                    {
                        'role': 'ADMIN'|'EDITOR'|'VIEWER',
                        'identities': [
                            {
                                'id': 'string',
                                'type': 'SSO_USER'|'SSO_GROUP'
                            },
                        ]
                    },
                ],
                'networkAccess': {
                    'vpceIds': [
                        'string',
                    ]
                },
                'serverUrl': 'string'
            }
        },
        'tags': {
            'string': 'string'
        },
        'health': {
            'issues': [
                {
                    'code': 'AccessDenied'|'ClusterUnreachable',
                    'message': 'string'
                },
            ]
        },
        'createdAt': datetime(2015, 1, 1),
        'modifiedAt': datetime(2015, 1, 1),
        'deletePropagationPolicy': 'RETAIN'
    }
}

Response Structure

  • (dict) --

    • capability (dict) --

      An object containing information about the newly created capability, including its name, ARN, status, and configuration.

      • capabilityName (string) --

        The unique name of the capability within the cluster.

      • arn (string) --

        The Amazon Resource Name (ARN) of the capability.

      • clusterName (string) --

        The name of the Amazon EKS cluster that contains this capability.

      • type (string) --

        The type of capability. Valid values are ACK, ARGOCD, or KRO.

      • roleArn (string) --

        The Amazon Resource Name (ARN) of the IAM role that the capability uses to interact with Amazon Web Services services.

      • status (string) --

        The current status of the capability. Valid values include:

        • CREATING – The capability is being created.

        • ACTIVE – The capability is running and available.

        • UPDATING – The capability is being updated.

        • DELETING – The capability is being deleted.

        • CREATE_FAILED – The capability creation failed.

        • UPDATE_FAILED – The capability update failed.

        • DELETE_FAILED – The capability deletion failed.

      • version (string) --

        The version of the capability software that is currently running.

      • configuration (dict) --

        The configuration settings for the capability. The structure varies depending on the capability type.

        • argoCd (dict) --

          Configuration settings for an Argo CD capability, including the server URL and other Argo CD-specific settings.

          • namespace (string) --

            The Kubernetes namespace where Argo CD resources are monitored by your Argo CD Capability.

          • awsIdc (dict) --

            The IAM Identity CenterIAM; Identity Center integration configuration.

            • idcInstanceArn (string) --

              The Amazon Resource Name (ARN) of the IAM Identity CenterIAM; Identity Center instance used for authentication.

            • idcRegion (string) --

              The Region where the IAM Identity CenterIAM; Identity Center instance is located.

            • idcManagedApplicationArn (string) --

              The Amazon Resource Name (ARN) of the managed application created in IAM Identity CenterIAM; Identity Center for this Argo CD capability. This application is automatically created and managed by Amazon EKS.

          • rbacRoleMappings (list) --

            The list of role mappings that define which IAM Identity CenterIAM; Identity Center users or groups have which Argo CD roles.

            • (dict) --

              A mapping between an Argo CD role and IAM Identity CenterIAM; Identity Center identities. This defines which users or groups have specific permissions in Argo CD.

              • role (string) --

                The Argo CD role to assign. Valid values are:

                • ADMIN – Full administrative access to Argo CD.

                • EDITOR – Edit access to Argo CD resources.

                • VIEWER – Read-only access to Argo CD resources.

              • identities (list) --

                A list of IAM Identity CenterIAM; Identity Center identities (users or groups) that should be assigned this Argo CD role.

                • (dict) --

                  An IAM Identity CenterIAM; Identity Center identity (user or group) that can be assigned permissions in a capability.

                  • id (string) --

                    The unique identifier of the IAM Identity CenterIAM; Identity Center user or group.

                  • type (string) --

                    The type of identity. Valid values are SSO_USER or SSO_GROUP.

          • networkAccess (dict) --

            The network access configuration for the Argo CD capability's managed API server endpoint. If VPC endpoint IDs are specified, public access is blocked and the Argo CD server is only accessible through the specified VPC endpoints.

            • vpceIds (list) --

              The list of VPC endpoint IDs associated with the managed Argo CD API server endpoint. Each VPC endpoint provides private connectivity from a specific VPC to the Argo CD server.

              • (string) --

          • serverUrl (string) --

            The URL of the Argo CD server. Use this URL to access the Argo CD web interface and API.

      • tags (dict) --

        The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value. You define them.

        The following basic restrictions apply to tags:

        • Maximum number of tags per resource – 50

        • For each resource, each tag key must be unique, and each tag key can have only one value.

        • Maximum key length – 128 Unicode characters in UTF-8

        • Maximum value length – 256 Unicode characters in UTF-8

        • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

        • Tag keys and values are case-sensitive.

        • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

        • (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).

      • health (dict) --

        Health information for the capability, including any issues that may be affecting its operation.

        • issues (list) --

          A list of issues affecting the capability. If this list is empty, the capability is healthy.

          • (dict) --

            An issue affecting a capability's health or operation.

            • code (string) --

              A code identifying the type of issue. This can be used to programmatically handle specific issue types.

            • message (string) --

              A human-readable message describing the issue and potential remediation steps.

      • createdAt (datetime) --

        The Unix epoch timestamp in seconds for when the capability was created.

      • modifiedAt (datetime) --

        The Unix epoch timestamp in seconds for when the capability was last modified.

      • deletePropagationPolicy (string) --

        The delete propagation policy for the capability. Currently, the only supported value is RETAIN, which keeps all resources managed by the capability when the capability is deleted.

DescribeUpdate (updated) Link ¶
Changes (request)
{'capabilityName': 'string'}

Describes an update to an Amazon EKS resource.

When the status of the update is Successful, the update is complete. If an update fails, the status is Failed, and an error detail explains the reason for the failure.

See also: AWS API Documentation

Request Syntax

client.describe_update(
    name='string',
    updateId='string',
    nodegroupName='string',
    addonName='string',
    capabilityName='string'
)
type name:

string

param name:

[REQUIRED]

The name of the Amazon EKS cluster associated with the update.

type updateId:

string

param updateId:

[REQUIRED]

The ID of the update to describe.

type nodegroupName:

string

param nodegroupName:

The name of the Amazon EKS node group associated with the update. This parameter is required if the update is a node group update.

type addonName:

string

param addonName:

The name of the add-on. The name must match one of the names returned by ListAddons. This parameter is required if the update is an add-on update.

type capabilityName:

string

param capabilityName:

The name of the capability for which you want to describe updates.

rtype:

dict

returns:

Response Syntax

{
    'update': {
        'id': 'string',
        'status': 'InProgress'|'Failed'|'Cancelled'|'Successful',
        'type': 'VersionUpdate'|'EndpointAccessUpdate'|'LoggingUpdate'|'ConfigUpdate'|'AssociateIdentityProviderConfig'|'DisassociateIdentityProviderConfig'|'AssociateEncryptionConfig'|'AddonUpdate'|'VpcConfigUpdate'|'AccessConfigUpdate'|'UpgradePolicyUpdate'|'ZonalShiftConfigUpdate'|'AutoModeUpdate'|'RemoteNetworkConfigUpdate'|'DeletionProtectionUpdate'|'ControlPlaneScalingConfigUpdate',
        'params': [
            {
                'type': 'Version'|'PlatformVersion'|'EndpointPrivateAccess'|'EndpointPublicAccess'|'ClusterLogging'|'DesiredSize'|'LabelsToAdd'|'LabelsToRemove'|'TaintsToAdd'|'TaintsToRemove'|'MaxSize'|'MinSize'|'ReleaseVersion'|'PublicAccessCidrs'|'LaunchTemplateName'|'LaunchTemplateVersion'|'IdentityProviderConfig'|'EncryptionConfig'|'AddonVersion'|'ServiceAccountRoleArn'|'ResolveConflicts'|'MaxUnavailable'|'MaxUnavailablePercentage'|'NodeRepairEnabled'|'UpdateStrategy'|'ConfigurationValues'|'SecurityGroups'|'Subnets'|'AuthenticationMode'|'PodIdentityAssociations'|'UpgradePolicy'|'ZonalShiftConfig'|'ComputeConfig'|'StorageConfig'|'KubernetesNetworkConfig'|'RemoteNetworkConfig'|'DeletionProtection'|'NodeRepairConfig'|'UpdatedTier'|'PreviousTier',
                'value': 'string'
            },
        ],
        'createdAt': datetime(2015, 1, 1),
        'errors': [
            {
                'errorCode': 'SubnetNotFound'|'SecurityGroupNotFound'|'EniLimitReached'|'IpNotAvailable'|'AccessDenied'|'OperationNotPermitted'|'VpcIdNotFound'|'Unknown'|'NodeCreationFailure'|'PodEvictionFailure'|'InsufficientFreeAddresses'|'ClusterUnreachable'|'InsufficientNumberOfReplicas'|'ConfigurationConflict'|'AdmissionRequestDenied'|'UnsupportedAddonModification'|'K8sResourceNotFound',
                'errorMessage': 'string',
                'resourceIds': [
                    'string',
                ]
            },
        ]
    }
}

Response Structure

  • (dict) --

    • update (dict) --

      The full description of the specified update.

      • id (string) --

        A UUID that is used to track the update.

      • status (string) --

        The current status of the update.

      • type (string) --

        The type of the update.

      • params (list) --

        A key-value map that contains the parameters associated with the update.

        • (dict) --

          An object representing the details of an update request.

          • type (string) --

            The keys associated with an update request.

          • value (string) --

            The value of the keys submitted as part of an update request.

      • createdAt (datetime) --

        The Unix epoch timestamp at object creation.

      • errors (list) --

        Any errors associated with a Failed update.

        • (dict) --

          An object representing an error when an asynchronous operation fails.

          • errorCode (string) --

            A brief description of the error.

            • SubnetNotFound: We couldn't find one of the subnets associated with the cluster.

            • SecurityGroupNotFound: We couldn't find one of the security groups associated with the cluster.

            • EniLimitReached: You have reached the elastic network interface limit for your account.

            • IpNotAvailable: A subnet associated with the cluster doesn't have any available IP addresses.

            • AccessDenied: You don't have permissions to perform the specified operation.

            • OperationNotPermitted: The service role associated with the cluster doesn't have the required access permissions for Amazon EKS.

            • VpcIdNotFound: We couldn't find the VPC associated with the cluster.

          • errorMessage (string) --

            A more complete description of the error.

          • resourceIds (list) --

            An optional field that contains the resource IDs associated with the error.

            • (string) --

ListUpdates (updated) Link ¶
Changes (request)
{'capabilityName': 'string'}

Lists the updates associated with an Amazon EKS resource in your Amazon Web Services account, in the specified Amazon Web Services Region.

See also: AWS API Documentation

Request Syntax

client.list_updates(
    name='string',
    nodegroupName='string',
    addonName='string',
    capabilityName='string',
    nextToken='string',
    maxResults=123
)
type name:

string

param name:

[REQUIRED]

The name of the Amazon EKS cluster to list updates for.

type nodegroupName:

string

param nodegroupName:

The name of the Amazon EKS managed node group to list updates for.

type addonName:

string

param addonName:

The names of the installed add-ons that have available updates.

type capabilityName:

string

param capabilityName:

The name of the capability for which you want to list updates.

type nextToken:

string

param nextToken:

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.

type maxResults:

integer

param maxResults:

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.

rtype:

dict

returns:

Response Syntax

{
    'updateIds': [
        'string',
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • updateIds (list) --

      A list of all the updates for the specified cluster and Region.

      • (string) --

    • nextToken (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.