Amazon Elastic Kubernetes Service

2023/12/20 - Amazon Elastic Kubernetes Service - 2 new api methods

Changes  Add support for cluster insights, new EKS capability that surfaces potentially upgrade impacting issues.

DescribeInsight (new) Link ¶

Returns details about an insight that you specify using its ID.

See also: AWS API Documentation

Request Syntax

client.describe_insight(
    clusterName='string',
    id='string'
)
type clusterName:

string

param clusterName:

[REQUIRED]

The name of the cluster to describe the insight for.

type id:

string

param id:

[REQUIRED]

The identity of the insight to describe.

rtype:

dict

returns:

Response Syntax

{
    'insight': {
        'id': 'string',
        'name': 'string',
        'category': 'UPGRADE_READINESS',
        'kubernetesVersion': 'string',
        'lastRefreshTime': datetime(2015, 1, 1),
        'lastTransitionTime': datetime(2015, 1, 1),
        'description': 'string',
        'insightStatus': {
            'status': 'PASSING'|'WARNING'|'ERROR'|'UNKNOWN',
            'reason': 'string'
        },
        'recommendation': 'string',
        'additionalInfo': {
            'string': 'string'
        },
        'resources': [
            {
                'insightStatus': {
                    'status': 'PASSING'|'WARNING'|'ERROR'|'UNKNOWN',
                    'reason': 'string'
                },
                'kubernetesResourceUri': 'string',
                'arn': 'string'
            },
        ],
        'categorySpecificSummary': {
            'deprecationDetails': [
                {
                    'usage': 'string',
                    'replacedWith': 'string',
                    'stopServingVersion': 'string',
                    'startServingReplacementVersion': 'string',
                    'clientStats': [
                        {
                            'userAgent': 'string',
                            'numberOfRequestsLast30Days': 123,
                            'lastRequestTime': datetime(2015, 1, 1)
                        },
                    ]
                },
            ]
        }
    }
}

Response Structure

  • (dict) --

    • insight (dict) --

      The full description of the insight.

      • id (string) --

        The ID of the insight.

      • name (string) --

        The name of the insight.

      • category (string) --

        The category of the insight.

      • kubernetesVersion (string) --

        The Kubernetes minor version associated with an insight if applicable.

      • lastRefreshTime (datetime) --

        The time Amazon EKS last successfully completed a refresh of this insight check on the cluster.

      • lastTransitionTime (datetime) --

        The time the status of the insight last changed.

      • description (string) --

        The description of the insight which includes alert criteria, remediation recommendation, and additional resources (contains Markdown).

      • insightStatus (dict) --

        An object containing more detail on the status of the insight resource.

        • status (string) --

          The status of the resource.

        • reason (string) --

          Explanation on the reasoning for the status of the resource.

      • recommendation (string) --

        A summary of how to remediate the finding of this insight if applicable.

      • additionalInfo (dict) --

        Links to sources that provide additional context on the insight.

        • (string) --

          • (string) --

      • resources (list) --

        The details about each resource listed in the insight check result.

        • (dict) --

          Returns information about the resource being evaluated.

          • insightStatus (dict) --

            An object containing more detail on the status of the insight resource.

            • status (string) --

              The status of the resource.

            • reason (string) --

              Explanation on the reasoning for the status of the resource.

          • kubernetesResourceUri (string) --

            The Kubernetes resource URI if applicable.

          • arn (string) --

            The Amazon Resource Name (ARN) if applicable.

      • categorySpecificSummary (dict) --

        Summary information that relates to the category of the insight. Currently only returned with certain insights having category UPGRADE_READINESS.

        • deprecationDetails (list) --

          The summary information about deprecated resource usage for an insight check in the UPGRADE_READINESS category.

          • (dict) --

            The summary information about deprecated resource usage for an insight check in the UPGRADE_READINESS category.

            • usage (string) --

              The deprecated version of the resource.

            • replacedWith (string) --

              The newer version of the resource to migrate to if applicable.

            • stopServingVersion (string) --

              The version of the software where the deprecated resource version will stop being served.

            • startServingReplacementVersion (string) --

              The version of the software where the newer resource version became available to migrate to if applicable.

            • clientStats (list) --

              Details about Kubernetes clients using the deprecated resources.

              • (dict) --

                Details about clients using the deprecated resources.

                • userAgent (string) --

                  The user agent of the Kubernetes client using the deprecated resource.

                • numberOfRequestsLast30Days (integer) --

                  The number of requests from the Kubernetes client seen over the last 30 days.

                • lastRequestTime (datetime) --

                  The timestamp of the last request seen from the Kubernetes client.

ListInsights (new) Link ¶

Returns a list of all insights checked for against the specified cluster. You can filter which insights are returned by category, associated Kubernetes version, and status.

See also: AWS API Documentation

Request Syntax

client.list_insights(
    clusterName='string',
    filter={
        'categories': [
            'UPGRADE_READINESS',
        ],
        'kubernetesVersions': [
            'string',
        ],
        'statuses': [
            'PASSING'|'WARNING'|'ERROR'|'UNKNOWN',
        ]
    },
    maxResults=123,
    nextToken='string'
)
type clusterName:

string

param clusterName:

[REQUIRED]

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

type filter:

dict

param filter:

The criteria to filter your list of insights for your cluster. You can filter which insights are returned by category, associated Kubernetes version, and status.

  • categories (list) --

    The categories to use to filter insights.

    • (string) --

  • kubernetesVersions (list) --

    The Kubernetes versions to use to filter the insights.

    • (string) --

  • statuses (list) --

    The statuses to use to filter the insights.

    • (string) --

type maxResults:

integer

param maxResults:

The maximum number of identity provider configurations returned by ListInsights in paginated output. When you use this parameter, ListInsights returns only maxResults results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListInsights request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListInsights returns up to 100 results and a nextToken value, if applicable.

type nextToken:

string

param nextToken:

The nextToken value returned from a previous paginated ListInsights request. When the results of a ListInsights 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.

rtype:

dict

returns:

Response Syntax

{
    'insights': [
        {
            'id': 'string',
            'name': 'string',
            'category': 'UPGRADE_READINESS',
            'kubernetesVersion': 'string',
            'lastRefreshTime': datetime(2015, 1, 1),
            'lastTransitionTime': datetime(2015, 1, 1),
            'description': 'string',
            'insightStatus': {
                'status': 'PASSING'|'WARNING'|'ERROR'|'UNKNOWN',
                'reason': 'string'
            }
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • insights (list) --

      The returned list of insights.

      • (dict) --

        The summarized description of the insight.

        • id (string) --

          The ID of the insight.

        • name (string) --

          The name of the insight.

        • category (string) --

          The category of the insight.

        • kubernetesVersion (string) --

          The Kubernetes minor version associated with an insight if applicable.

        • lastRefreshTime (datetime) --

          The time Amazon EKS last successfully completed a refresh of this insight check on the cluster.

        • lastTransitionTime (datetime) --

          The time the status of the insight last changed.

        • description (string) --

          The description of the insight which includes alert criteria, remediation recommendation, and additional resources (contains Markdown).

        • insightStatus (dict) --

          An object containing more detail on the status of the insight.

          • status (string) --

            The status of the resource.

          • reason (string) --

            Explanation on the reasoning for the status of the resource.

    • nextToken (string) --

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