addons
Creates, updates, deletes, gets or lists an addons resource.
Overview
| Name | addons |
| Type | Resource |
| Id | aws.eks.addons |
Fields
The following fields are returned by SELECT queries:
- describe_addon
- list_addons
| Name | Datatype | Description |
|---|---|---|
addon_arn | string | The Amazon Resource Name (ARN) of the add-on. |
addon_name | string | The name of the add-on. |
addon_version | string | The version of the add-on. |
cluster_name | string | The name of your cluster. (pattern: <code>^[0-9A-Za-z][A-Za-z0-9-_]*</code>) |
configuration_values | string | The configuration values that you provided. |
created_at | string (date-time) | The Unix epoch timestamp at object creation. |
health | object | An object that represents the health of the add-on. |
marketplace_information | object | Information about an Amazon EKS add-on from the Amazon Web Services Marketplace. |
modified_at | string (date-time) | The Unix epoch timestamp for the last modification to the object. |
namespace_config | object | The namespace configuration for the addon. This specifies the Kubernetes namespace where the addon is installed. |
owner | string | The owner of the add-on. |
pod_identity_associations | array | 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. |
publisher | string | The publisher of the add-on. |
service_account_role_arn | string | The Amazon Resource Name (ARN) of the IAM role that's bound to the Kubernetes ServiceAccount object that the add-on uses. |
status | string | The status of the add-on. (CREATING, ACTIVE, CREATE_FAILED, UPDATING, DELETING, DELETE_FAILED, DEGRADED, UPDATE_FAILED) |
tags | object | 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. |
| Name | Datatype | Description |
|---|---|---|
addon | string | A list of installed add-ons. |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
describe_addon | select | name, addon_name, region | Describes an Amazon EKS add-on. | |
list_addons | select | name, region | maxResults, nextToken | Lists the installed add-ons. |
create_addon | insert | name, region, addonName | 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. | |
update_addon | update | name, addon_name, region | Updates an Amazon EKS add-on. | |
delete_addon | delete | name, addon_name, region | preserve | 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. |
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 |
|---|---|---|
addon_name | string | The name of the add-on. The name must match one of the names returned by ListAddons . |
name | string | The name of your cluster. |
region | string | AWS region (default: us-east-1) |
maxResults | 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. |
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. This token should be treated as an opaque identifier that is used only to retrieve the next items in a list and not for other programmatic purposes. |
preserve | 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. |
SELECT examples
- describe_addon
- list_addons
Describes an Amazon EKS add-on.
SELECT
addon_arn,
addon_name,
addon_version,
cluster_name,
configuration_values,
created_at,
health,
marketplace_information,
modified_at,
namespace_config,
owner,
pod_identity_associations,
publisher,
service_account_role_arn,
status,
tags
FROM aws.eks.addons
WHERE name = '{{ name }}' -- required
AND addon_name = '{{ addon_name }}' -- required
AND region = '{{ region }}' -- required
;
Lists the installed add-ons.
SELECT
addon
FROM aws.eks.addons
WHERE name = '{{ name }}' -- required
AND region = '{{ region }}' -- required
AND maxResults = '{{ maxResults }}'
AND nextToken = '{{ nextToken }}'
;
INSERT examples
- create_addon
- Manifest
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.
INSERT INTO aws.eks.addons (
addonName,
addonVersion,
serviceAccountRoleArn,
resolveConflicts,
clientRequestToken,
tags,
configurationValues,
podIdentityAssociations,
namespaceConfig,
name,
region
)
SELECT
'{{ addonName }}' /* required */,
'{{ addonVersion }}',
'{{ serviceAccountRoleArn }}',
'{{ resolveConflicts }}',
'{{ clientRequestToken }}',
'{{ tags }}',
'{{ configurationValues }}',
'{{ podIdentityAssociations }}',
'{{ namespaceConfig }}',
'{{ name }}',
'{{ region }}'
RETURNING
addon
;
# Description fields are for documentation purposes
- name: addons
props:
- name: name
value: "{{ name }}"
description: Required parameter for the addons resource.
- name: region
value: "{{ region }}"
description: Required parameter for the addons resource.
- name: addonName
value: "{{ addonName }}"
- name: addonVersion
value: "{{ addonVersion }}"
- name: serviceAccountRoleArn
value: "{{ serviceAccountRoleArn }}"
- name: resolveConflicts
value: "{{ resolveConflicts }}"
valid_values: ['OVERWRITE', 'NONE', 'PRESERVE']
- name: clientRequestToken
value: "{{ clientRequestToken }}"
- 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: configurationValues
value: "{{ configurationValues }}"
- name: podIdentityAssociations
value:
- serviceAccount: "{{ serviceAccount }}"
roleArn: "{{ roleArn }}"
- name: namespaceConfig
description: |
The namespace configuration request object for specifying a custom namespace when creating an addon.
value:
namespace: "{{ namespace }}"
UPDATE examples
- update_addon
Updates an Amazon EKS add-on.
UPDATE aws.eks.addons
SET
addonVersion = '{{ addonVersion }}',
serviceAccountRoleArn = '{{ serviceAccountRoleArn }}',
resolveConflicts = '{{ resolveConflicts }}',
clientRequestToken = '{{ clientRequestToken }}',
configurationValues = '{{ configurationValues }}',
podIdentityAssociations = '{{ podIdentityAssociations }}'
WHERE
name = '{{ name }}' --required
AND addon_name = '{{ addon_name }}' --required
AND region = '{{ region }}' --required
RETURNING
update;
DELETE examples
- delete_addon
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.
DELETE FROM aws.eks.addons
WHERE name = '{{ name }}' --required
AND addon_name = '{{ addon_name }}' --required
AND region = '{{ region }}' --required
AND preserve = '{{ preserve }}'
;