Amazon Elastic Kubernetes Service

2022/11/29 - Amazon Elastic Kubernetes Service - 4 updated api methods

Changes  Adds support for additional EKS add-ons metadata and filtering fields

CreateAddon (updated) Link ¶
Changes (response)
{'addon': {'marketplaceInformation': {'productId': 'string',
                                      'productUrl': 'string'},
           'owner': 'string',
           'publisher': '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'
    }
)
type clusterName:

string

param clusterName:

[REQUIRED]

The name of the cluster to create the add-on for.

type addonName:

string

param addonName:

[REQUIRED]

The name of the add-on. The name must match one of the names returned by DescribeAddonVersions.

type addonVersion:

string

param addonVersion:

The version of the add-on. The version must match one of the versions returned by DescribeAddonVersions.

type serviceAccountRoleArn:

string

param serviceAccountRoleArn:

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.

type resolveConflicts:

string

param resolveConflicts:

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 – Not supported. You can set this value when updating an add-on though. 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.

type clientRequestToken:

string

param clientRequestToken:

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

This field is autopopulated if not provided.

type tags:

dict

param tags:

The metadata to apply to the cluster to assist with categorization and organization. Each tag consists of a key and an optional value. You define both.

  • (string) --

    • (string) --

rtype:

dict

returns:

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',
                    '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'
        }
    }
}

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 the cluster.

      • status (string) --

        The status of the add-on.

      • addonVersion (string) --

        The version of the add-on.

      • health (dict) --

        An object representing 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 date and time that the add-on was created.

      • modifiedAt (datetime) --

        The date and time that the add-on was last modified.

      • serviceAccountRoleArn (string) --

        The Amazon Resource Name (ARN) of the IAM role that is bound to the Kubernetes service account used by the add-on.

      • tags (dict) --

        The metadata that you apply to the add-on to assist with categorization and organization. Each tag consists of a key and an optional value. You define both. Add-on tags do not propagate to any other resources associated with the cluster.

        • (string) --

          • (string) --

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

DeleteAddon (updated) Link ¶
Changes (response)
{'addon': {'marketplaceInformation': {'productId': 'string',
                                      'productUrl': 'string'},
           'owner': 'string',
           'publisher': 'string'}}

Delete an Amazon EKS add-on.

When you remove the add-on, it will also be 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
)
type clusterName:

string

param clusterName:

[REQUIRED]

The name of the cluster to delete the add-on from.

type addonName:

string

param addonName:

[REQUIRED]

The name of the add-on. The name must match one of the names returned by ListAddons.

type preserve:

boolean

param preserve:

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.

rtype:

dict

returns:

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',
                    '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'
        }
    }
}

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 the cluster.

      • status (string) --

        The status of the add-on.

      • addonVersion (string) --

        The version of the add-on.

      • health (dict) --

        An object representing 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 date and time that the add-on was created.

      • modifiedAt (datetime) --

        The date and time that the add-on was last modified.

      • serviceAccountRoleArn (string) --

        The Amazon Resource Name (ARN) of the IAM role that is bound to the Kubernetes service account used by the add-on.

      • tags (dict) --

        The metadata that you apply to the add-on to assist with categorization and organization. Each tag consists of a key and an optional value. You define both. Add-on tags do not propagate to any other resources associated with the cluster.

        • (string) --

          • (string) --

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

DescribeAddon (updated) Link ¶
Changes (response)
{'addon': {'marketplaceInformation': {'productId': 'string',
                                      'productUrl': 'string'},
           'owner': 'string',
           'publisher': 'string'}}

Describes an Amazon EKS add-on.

See also: AWS API Documentation

Request Syntax

client.describe_addon(
    clusterName='string',
    addonName='string'
)
type clusterName:

string

param clusterName:

[REQUIRED]

The name of the cluster.

type addonName:

string

param addonName:

[REQUIRED]

The name of the add-on. The name must match one of the names returned by ListAddons.

rtype:

dict

returns:

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',
                    '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'
        }
    }
}

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 the cluster.

      • status (string) --

        The status of the add-on.

      • addonVersion (string) --

        The version of the add-on.

      • health (dict) --

        An object representing 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 date and time that the add-on was created.

      • modifiedAt (datetime) --

        The date and time that the add-on was last modified.

      • serviceAccountRoleArn (string) --

        The Amazon Resource Name (ARN) of the IAM role that is bound to the Kubernetes service account used by the add-on.

      • tags (dict) --

        The metadata that you apply to the add-on to assist with categorization and organization. Each tag consists of a key and an optional value. You define both. Add-on tags do not propagate to any other resources associated with the cluster.

        • (string) --

          • (string) --

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

DescribeAddonVersions (updated) Link ¶
Changes (request, response)
Request
{'owners': ['string'], 'publishers': ['string'], 'types': ['string']}
Response
{'addons': {'addonVersions': {'requiresConfiguration': 'boolean'},
            'marketplaceInformation': {'productId': 'string',
                                       'productUrl': 'string'},
            'owner': 'string',
            'publisher': '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',
    ]
)
type kubernetesVersion:

string

param kubernetesVersion:

The Kubernetes versions that you can use the add-on with.

type maxResults:

integer

param maxResults:

The maximum number of results to return.

type nextToken:

string

param nextToken:

The nextToken value returned from a previous paginated DescribeAddonVersionsRequest 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.

type addonName:

string

param addonName:

The name of the add-on. The name must match one of the names returned by ListAddons.

type types:

list

param types:

The type of the add-on. For valid types, don't specify a value for this property.

  • (string) --

type publishers:

list

param publishers:

The publisher of the add-on. For valid publishers, don't specify a value for this property.

  • (string) --

type owners:

list

param owners:

The owner of the add-on. For valid owners, don't specify a value for this property.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'addons': [
        {
            'addonName': 'string',
            'type': 'string',
            'addonVersions': [
                {
                    'addonVersion': 'string',
                    'architecture': [
                        'string',
                    ],
                    'compatibilities': [
                        {
                            'clusterVersion': 'string',
                            'platformVersions': [
                                'string',
                            ],
                            'defaultVersion': True|False
                        },
                    ],
                    'requiresConfiguration': True|False
                },
            ],
            'publisher': 'string',
            'owner': 'string',
            'marketplaceInformation': {
                'productId': 'string',
                'productUrl': '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) --

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

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

    • nextToken (string) --

      The nextToken value returned from a previous paginated DescribeAddonVersionsResponse 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.