capabilities
Creates, updates, deletes, gets or lists a capabilities resource.
Overview
| Name | capabilities |
| Type | Resource |
| Id | aws.eks.capabilities |
Fields
The following fields are returned by SELECT queries:
- describe_capability
- list_capabilities
| Name | Datatype | Description |
|---|---|---|
arn | string | The Amazon Resource Name (ARN) of the capability. |
capability_name | string | The unique name of the capability within the cluster. |
cluster_name | string | The name of the Amazon EKS cluster that contains this capability. |
configuration | object | The configuration settings for the capability. The structure varies depending on the capability type. |
created_at | string (date-time) | The Unix epoch timestamp in seconds for when the capability was created. |
delete_propagation_policy | 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. (RETAIN) |
health | object | Health information for the capability, including any issues that may be affecting its operation. |
modified_at | string (date-time) | The Unix epoch timestamp in seconds for when the capability was last modified. |
role_arn | 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. (CREATING, CREATE_FAILED, UPDATING, DELETING, DELETE_FAILED, ACTIVE, DEGRADED) |
tags | object | |
type_ | string | The type of capability. Valid values are ACK, ARGOCD, or KRO. (ACK, KRO, ARGOCD) |
version | string | The version of the capability software that is currently running. |
| Name | Datatype | Description |
|---|---|---|
arn | string | The Amazon Resource Name (ARN) of the capability. |
capability_name | string | The unique name of the capability within the cluster. |
created_at | string (date-time) | The Unix epoch timestamp in seconds for when the capability was created. |
modified_at | string (date-time) | The Unix epoch timestamp in seconds for when the capability was last modified. |
status | string | The current status of the capability. (CREATING, CREATE_FAILED, UPDATING, DELETING, DELETE_FAILED, ACTIVE, DEGRADED) |
type_ | string | The type of capability. Valid values are ACK, ARGOCD, or KRO. (ACK, KRO, ARGOCD) |
version | string | The version of the capability software that is currently running. |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
describe_capability | select | name, capability_name, region | 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. | |
list_capabilities | select | name, region | nextToken, maxResults | 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. |
create_capability | insert | name, region, capabilityName, type, roleArn, deletePropagationPolicy | 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. | |
update_capability | update | name, capability_name, region | 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. | |
delete_capability | delete | name, capability_name, region | 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. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
capability_name | string | The name of the capability to delete. |
name | string | The name of the Amazon EKS cluster that contains the capability you want to delete. |
region | string | AWS region (default: us-east-1) |
maxResults | integer | 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. |
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. |
SELECT examples
- describe_capability
- list_capabilities
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.
SELECT
arn,
capability_name,
cluster_name,
configuration,
created_at,
delete_propagation_policy,
health,
modified_at,
role_arn,
status,
tags,
type_,
version
FROM aws.eks.capabilities
WHERE name = '{{ name }}' -- required
AND capability_name = '{{ capability_name }}' -- required
AND region = '{{ region }}' -- required
;
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.
SELECT
arn,
capability_name,
created_at,
modified_at,
status,
type_,
version
FROM aws.eks.capabilities
WHERE name = '{{ name }}' -- required
AND region = '{{ region }}' -- required
AND nextToken = '{{ nextToken }}'
AND maxResults = '{{ maxResults }}'
;
INSERT examples
- create_capability
- Manifest
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.
INSERT INTO aws.eks.capabilities (
capabilityName,
clientRequestToken,
type,
roleArn,
configuration,
tags,
deletePropagationPolicy,
name,
region
)
SELECT
'{{ capabilityName }}' /* required */,
'{{ clientRequestToken }}',
'{{ type }}' /* required */,
'{{ roleArn }}' /* required */,
'{{ configuration }}',
'{{ tags }}',
'{{ deletePropagationPolicy }}' /* required */,
'{{ name }}',
'{{ region }}'
RETURNING
capability
;
# Description fields are for documentation purposes
- name: capabilities
props:
- name: name
value: "{{ name }}"
description: Required parameter for the capabilities resource.
- name: region
value: "{{ region }}"
description: Required parameter for the capabilities resource.
- name: capabilityName
value: "{{ capabilityName }}"
- name: clientRequestToken
value: "{{ clientRequestToken }}"
- name: type
value: "{{ type }}"
valid_values: ['ACK', 'KRO', 'ARGOCD']
- name: roleArn
value: "{{ roleArn }}"
- name: configuration
description: |
Configuration settings for a capability. The structure of this object varies depending on the capability type.
value:
argoCd:
namespace: "{{ namespace }}"
awsIdc:
idcInstanceArn: "{{ idcInstanceArn }}"
idcRegion: "{{ idcRegion }}"
rbacRoleMappings:
- role: "{{ role }}"
identities: "{{ identities }}"
networkAccess:
vpceIds:
- "{{ vpceIds }}"
- name: tags
value: "{{ tags }}"
description: |
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.
- name: deletePropagationPolicy
value: "{{ deletePropagationPolicy }}"
valid_values: ['RETAIN']
UPDATE examples
- update_capability
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.
UPDATE aws.eks.capabilities
SET
roleArn = '{{ roleArn }}',
configuration = '{{ configuration }}',
clientRequestToken = '{{ clientRequestToken }}',
deletePropagationPolicy = '{{ deletePropagationPolicy }}'
WHERE
name = '{{ name }}' --required
AND capability_name = '{{ capability_name }}' --required
AND region = '{{ region }}' --required
RETURNING
update;
DELETE examples
- delete_capability
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.
DELETE FROM aws.eks.capabilities
WHERE name = '{{ name }}' --required
AND capability_name = '{{ capability_name }}' --required
AND region = '{{ region }}' --required
;