
com.amazonaws.services.eks.AmazonEKS Maven / Gradle / Ivy
/*
* Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.eks;
import javax.annotation.Generated;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.eks.model.*;
import com.amazonaws.services.eks.waiters.AmazonEKSWaiters;
/**
* Interface for accessing Amazon EKS.
*
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.eks.AbstractAmazonEKS} instead.
*
*
*
* Amazon Elastic Kubernetes Service (Amazon EKS) is a managed service that makes it easy for you to run Kubernetes on
* Amazon Web Services without needing to stand up or maintain your own Kubernetes control plane. Kubernetes is an
* open-source system for automating the deployment, scaling, and management of containerized applications.
*
*
* Amazon EKS runs up-to-date versions of the open-source Kubernetes software, so you can use all the existing plugins
* and tooling from the Kubernetes community. Applications running on Amazon EKS are fully compatible with applications
* running on any standard Kubernetes environment, whether running in on-premises data centers or public clouds. This
* means that you can easily migrate any standard Kubernetes application to Amazon EKS without any code modification
* required.
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AmazonEKS {
/**
* The region metadata service name for computing region endpoints. You can use this value to retrieve metadata
* (such as supported regions) of the service.
*
* @see RegionUtils#getRegionsForService(String)
*/
String ENDPOINT_PREFIX = "eks";
/**
*
* Associate encryption configuration to an existing cluster.
*
*
* You can use this API to enable encryption on existing clusters which do not have encryption already enabled. This
* allows you to implement a defense-in-depth security strategy without migrating applications to new Amazon EKS
* clusters.
*
*
* @param associateEncryptionConfigRequest
* @return Result of the AssociateEncryptionConfig operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ResourceInUseException
* The specified resource is in use.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws InvalidRequestException
* The request is invalid given the state of the cluster. Check the state of the cluster and the associated
* operations.
* @sample AmazonEKS.AssociateEncryptionConfig
* @see AWS
* API Documentation
*/
AssociateEncryptionConfigResult associateEncryptionConfig(AssociateEncryptionConfigRequest associateEncryptionConfigRequest);
/**
*
* Associate an identity provider configuration to a cluster.
*
*
* If you want to authenticate identities using an identity provider, you can create an identity provider
* configuration and associate it to your cluster. After configuring authentication to your cluster you can create
* Kubernetes roles
and clusterroles
to assign permissions to the roles, and then bind the
* roles to the identities using Kubernetes rolebindings
and clusterrolebindings
. For more
* information see Using RBAC
* Authorization in the Kubernetes documentation.
*
*
* @param associateIdentityProviderConfigRequest
* @return Result of the AssociateIdentityProviderConfig operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ResourceInUseException
* The specified resource is in use.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws InvalidRequestException
* The request is invalid given the state of the cluster. Check the state of the cluster and the associated
* operations.
* @sample AmazonEKS.AssociateIdentityProviderConfig
* @see AWS API Documentation
*/
AssociateIdentityProviderConfigResult associateIdentityProviderConfig(AssociateIdentityProviderConfigRequest associateIdentityProviderConfigRequest);
/**
*
* 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.
*
*
* @param createAddonRequest
* @return Result of the CreateAddon operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws InvalidRequestException
* The request is invalid given the state of the cluster. Check the state of the cluster and the associated
* operations.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws ResourceInUseException
* The specified resource is in use.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @sample AmazonEKS.CreateAddon
* @see AWS API
* Documentation
*/
CreateAddonResult createAddon(CreateAddonRequest createAddonRequest);
/**
*
* Creates an Amazon EKS control plane.
*
*
* The Amazon EKS control plane consists of control plane instances that run the Kubernetes software, such as
* etcd
and the API server. The control plane runs in an account managed by Amazon Web Services, and
* the Kubernetes API is exposed by the Amazon EKS API server endpoint. Each Amazon EKS cluster control plane is
* single tenant and unique. It runs on its own set of Amazon EC2 instances.
*
*
* The cluster control plane is provisioned across multiple Availability Zones and fronted by an Elastic Load
* Balancing Network Load Balancer. Amazon EKS also provisions elastic network interfaces in your VPC subnets to
* provide connectivity from the control plane instances to the nodes (for example, to support
* kubectl exec
, logs
, and proxy
data flows).
*
*
* Amazon EKS nodes run in your Amazon Web Services account and connect to your cluster's control plane over the
* Kubernetes API server endpoint and a certificate file that is created for your cluster.
*
*
* In most cases, it takes several minutes to create a cluster. After you create an Amazon EKS cluster, you must
* configure your Kubernetes tooling to communicate with the API server and launch nodes into your cluster. For more
* information, see Managing Cluster
* Authentication and Launching
* Amazon EKS nodes in the Amazon EKS User Guide.
*
*
* @param createClusterRequest
* @return Result of the CreateCluster operation returned by the service.
* @throws ResourceInUseException
* The specified resource is in use.
* @throws ResourceLimitExceededException
* You have encountered a service limit on the specified resource.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ServiceUnavailableException
* The service is unavailable. Back off and retry the operation.
* @throws UnsupportedAvailabilityZoneException
* At least one of your specified cluster subnets is in an Availability Zone that does not support Amazon
* EKS. The exception output specifies the supported Availability Zones for your account, from which you can
* choose subnets for your cluster.
* @sample AmazonEKS.CreateCluster
* @see AWS API
* Documentation
*/
CreateClusterResult createCluster(CreateClusterRequest createClusterRequest);
/**
*
* Creates an Fargate profile for your Amazon EKS cluster. You must have at least one Fargate profile in a cluster
* to be able to run pods on Fargate.
*
*
* The Fargate profile allows an administrator to declare which pods run on Fargate and specify which pods run on
* which Fargate profile. This declaration is done through the profile’s selectors. Each profile can have up to five
* selectors that contain a namespace and labels. A namespace is required for every selector. The label field
* consists of multiple optional key-value pairs. Pods that match the selectors are scheduled on Fargate. If a
* to-be-scheduled pod matches any of the selectors in the Fargate profile, then that pod is run on Fargate.
*
*
* When you create a Fargate profile, you must specify a pod execution role to use with the pods that are scheduled
* with the profile. This role is added to the cluster's Kubernetes Role Based Access Control (RBAC) for
* authorization so that the kubelet
that is running on the Fargate infrastructure can register with
* your Amazon EKS cluster so that it can appear in your cluster as a node. The pod execution role also provides IAM
* permissions to the Fargate infrastructure to allow read access to Amazon ECR image repositories. For more
* information, see Pod Execution
* Role in the Amazon EKS User Guide.
*
*
* Fargate profiles are immutable. However, you can create a new updated profile to replace an existing profile and
* then delete the original after the updated profile has finished creating.
*
*
* If any Fargate profiles in a cluster are in the DELETING
status, you must wait for that Fargate
* profile to finish deleting before you can create any other profiles in that cluster.
*
*
* For more information, see Fargate
* Profile in the Amazon EKS User Guide.
*
*
* @param createFargateProfileRequest
* @return Result of the CreateFargateProfile operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws InvalidRequestException
* The request is invalid given the state of the cluster. Check the state of the cluster and the associated
* operations.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ResourceLimitExceededException
* You have encountered a service limit on the specified resource.
* @throws UnsupportedAvailabilityZoneException
* At least one of your specified cluster subnets is in an Availability Zone that does not support Amazon
* EKS. The exception output specifies the supported Availability Zones for your account, from which you can
* choose subnets for your cluster.
* @sample AmazonEKS.CreateFargateProfile
* @see AWS API
* Documentation
*/
CreateFargateProfileResult createFargateProfile(CreateFargateProfileRequest createFargateProfileRequest);
/**
*
* Creates a managed node group for an Amazon EKS cluster. You can only create a node group for your cluster that is
* equal to the current Kubernetes version for the cluster. All node groups are created with the latest AMI release
* version for the respective minor Kubernetes version of the cluster, unless you deploy a custom AMI using a launch
* template. For more information about using launch templates, see Launch template support.
*
*
* An Amazon EKS managed node group is an Amazon EC2 Auto Scaling group and associated Amazon EC2 instances that are
* managed by Amazon Web Services for an Amazon EKS cluster. For more information, see Managed node groups in the
* Amazon EKS User Guide.
*
*
*
* Windows AMI types are only supported for commercial Regions that support Windows Amazon EKS.
*
*
*
* @param createNodegroupRequest
* @return Result of the CreateNodegroup operation returned by the service.
* @throws ResourceInUseException
* The specified resource is in use.
* @throws ResourceLimitExceededException
* You have encountered a service limit on the specified resource.
* @throws InvalidRequestException
* The request is invalid given the state of the cluster. Check the state of the cluster and the associated
* operations.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ServiceUnavailableException
* The service is unavailable. Back off and retry the operation.
* @sample AmazonEKS.CreateNodegroup
* @see AWS API
* Documentation
*/
CreateNodegroupResult createNodegroup(CreateNodegroupRequest createNodegroupRequest);
/**
*
* 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.
*
*
* @param deleteAddonRequest
* @return Result of the DeleteAddon operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws InvalidRequestException
* The request is invalid given the state of the cluster. Check the state of the cluster and the associated
* operations.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @sample AmazonEKS.DeleteAddon
* @see AWS API
* Documentation
*/
DeleteAddonResult deleteAddon(DeleteAddonRequest deleteAddonRequest);
/**
*
* Deletes the Amazon EKS cluster control plane.
*
*
* If you have active services in your cluster that are associated with a load balancer, you must delete those
* services before deleting the cluster so that the load balancers are deleted properly. Otherwise, you can have
* orphaned resources in your VPC that prevent you from being able to delete the VPC. For more information, see Deleting a Cluster in the
* Amazon EKS User Guide.
*
*
* If you have managed node groups or Fargate profiles attached to the cluster, you must delete them first. For more
* information, see DeleteNodegroup and DeleteFargateProfile.
*
*
* @param deleteClusterRequest
* @return Result of the DeleteCluster operation returned by the service.
* @throws ResourceInUseException
* The specified resource is in use.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ServiceUnavailableException
* The service is unavailable. Back off and retry the operation.
* @sample AmazonEKS.DeleteCluster
* @see AWS API
* Documentation
*/
DeleteClusterResult deleteCluster(DeleteClusterRequest deleteClusterRequest);
/**
*
* Deletes an Fargate profile.
*
*
* When you delete a Fargate profile, any pods running on Fargate that were created with the profile are deleted. If
* those pods match another Fargate profile, then they are scheduled on Fargate with that profile. If they no longer
* match any Fargate profiles, then they are not scheduled on Fargate and they may remain in a pending state.
*
*
* Only one Fargate profile in a cluster can be in the DELETING
status at a time. You must wait for a
* Fargate profile to finish deleting before you can delete any other profiles in that cluster.
*
*
* @param deleteFargateProfileRequest
* @return Result of the DeleteFargateProfile operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @sample AmazonEKS.DeleteFargateProfile
* @see AWS API
* Documentation
*/
DeleteFargateProfileResult deleteFargateProfile(DeleteFargateProfileRequest deleteFargateProfileRequest);
/**
*
* Deletes an Amazon EKS node group for a cluster.
*
*
* @param deleteNodegroupRequest
* @return Result of the DeleteNodegroup operation returned by the service.
* @throws ResourceInUseException
* The specified resource is in use.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ServiceUnavailableException
* The service is unavailable. Back off and retry the operation.
* @sample AmazonEKS.DeleteNodegroup
* @see AWS API
* Documentation
*/
DeleteNodegroupResult deleteNodegroup(DeleteNodegroupRequest deleteNodegroupRequest);
/**
*
* Deregisters a connected cluster to remove it from the Amazon EKS control plane.
*
*
* @param deregisterClusterRequest
* @return Result of the DeregisterCluster operation returned by the service.
* @throws ResourceInUseException
* The specified resource is in use.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ServiceUnavailableException
* The service is unavailable. Back off and retry the operation.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @sample AmazonEKS.DeregisterCluster
* @see AWS API
* Documentation
*/
DeregisterClusterResult deregisterCluster(DeregisterClusterRequest deregisterClusterRequest);
/**
*
* Describes an Amazon EKS add-on.
*
*
* @param describeAddonRequest
* @return Result of the DescribeAddon operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws InvalidRequestException
* The request is invalid given the state of the cluster. Check the state of the cluster and the associated
* operations.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @sample AmazonEKS.DescribeAddon
* @see AWS API
* Documentation
*/
DescribeAddonResult describeAddon(DescribeAddonRequest describeAddonRequest);
/**
*
* Returns configuration options.
*
*
* @param describeAddonConfigurationRequest
* @return Result of the DescribeAddonConfiguration operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonEKS.DescribeAddonConfiguration
* @see AWS
* API Documentation
*/
DescribeAddonConfigurationResult describeAddonConfiguration(DescribeAddonConfigurationRequest describeAddonConfigurationRequest);
/**
*
* 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.
*
*
* @param describeAddonVersionsRequest
* @return Result of the DescribeAddonVersions operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonEKS.DescribeAddonVersions
* @see AWS API
* Documentation
*/
DescribeAddonVersionsResult describeAddonVersions(DescribeAddonVersionsRequest describeAddonVersionsRequest);
/**
*
* Returns descriptive information about an Amazon EKS cluster.
*
*
* The API server endpoint and certificate authority data returned by this operation are required for
* kubelet
and kubectl
to communicate with your Kubernetes API server. For more
* information, see Create a
* kubeconfig for Amazon EKS.
*
*
*
* The API server endpoint and certificate authority data aren't available until the cluster reaches the
* ACTIVE
state.
*
*
*
* @param describeClusterRequest
* @return Result of the DescribeCluster operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ServiceUnavailableException
* The service is unavailable. Back off and retry the operation.
* @sample AmazonEKS.DescribeCluster
* @see AWS API
* Documentation
*/
DescribeClusterResult describeCluster(DescribeClusterRequest describeClusterRequest);
/**
*
* Returns descriptive information about an Fargate profile.
*
*
* @param describeFargateProfileRequest
* @return Result of the DescribeFargateProfile operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @sample AmazonEKS.DescribeFargateProfile
* @see AWS API
* Documentation
*/
DescribeFargateProfileResult describeFargateProfile(DescribeFargateProfileRequest describeFargateProfileRequest);
/**
*
* Returns descriptive information about an identity provider configuration.
*
*
* @param describeIdentityProviderConfigRequest
* @return Result of the DescribeIdentityProviderConfig operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ServiceUnavailableException
* The service is unavailable. Back off and retry the operation.
* @sample AmazonEKS.DescribeIdentityProviderConfig
* @see AWS API Documentation
*/
DescribeIdentityProviderConfigResult describeIdentityProviderConfig(DescribeIdentityProviderConfigRequest describeIdentityProviderConfigRequest);
/**
*
* Returns descriptive information about an Amazon EKS node group.
*
*
* @param describeNodegroupRequest
* @return Result of the DescribeNodegroup operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ServiceUnavailableException
* The service is unavailable. Back off and retry the operation.
* @sample AmazonEKS.DescribeNodegroup
* @see AWS API
* Documentation
*/
DescribeNodegroupResult describeNodegroup(DescribeNodegroupRequest describeNodegroupRequest);
/**
*
* Returns descriptive information about an update against your Amazon EKS cluster or associated managed node group
* or Amazon EKS add-on.
*
*
* When the status of the update is Succeeded
, the update is complete. If an update fails, the status
* is Failed
, and an error detail explains the reason for the failure.
*
*
* @param describeUpdateRequest
* @return Result of the DescribeUpdate operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @sample AmazonEKS.DescribeUpdate
* @see AWS API
* Documentation
*/
DescribeUpdateResult describeUpdate(DescribeUpdateRequest describeUpdateRequest);
/**
*
* Disassociates an identity provider configuration from a cluster. If you disassociate an identity provider from
* your cluster, users included in the provider can no longer access the cluster. However, you can still access the
* cluster with Amazon Web Services IAM users.
*
*
* @param disassociateIdentityProviderConfigRequest
* @return Result of the DisassociateIdentityProviderConfig operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ResourceInUseException
* The specified resource is in use.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws InvalidRequestException
* The request is invalid given the state of the cluster. Check the state of the cluster and the associated
* operations.
* @sample AmazonEKS.DisassociateIdentityProviderConfig
* @see AWS API Documentation
*/
DisassociateIdentityProviderConfigResult disassociateIdentityProviderConfig(
DisassociateIdentityProviderConfigRequest disassociateIdentityProviderConfigRequest);
/**
*
* Lists the available add-ons.
*
*
* @param listAddonsRequest
* @return Result of the ListAddons operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws InvalidRequestException
* The request is invalid given the state of the cluster. Check the state of the cluster and the associated
* operations.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @sample AmazonEKS.ListAddons
* @see AWS API
* Documentation
*/
ListAddonsResult listAddons(ListAddonsRequest listAddonsRequest);
/**
*
* Lists the Amazon EKS clusters in your Amazon Web Services account in the specified Region.
*
*
* @param listClustersRequest
* @return Result of the ListClusters operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ServiceUnavailableException
* The service is unavailable. Back off and retry the operation.
* @sample AmazonEKS.ListClusters
* @see AWS API
* Documentation
*/
ListClustersResult listClusters(ListClustersRequest listClustersRequest);
/**
*
* Lists the Fargate profiles associated with the specified cluster in your Amazon Web Services account in the
* specified Region.
*
*
* @param listFargateProfilesRequest
* @return Result of the ListFargateProfiles operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @sample AmazonEKS.ListFargateProfiles
* @see AWS API
* Documentation
*/
ListFargateProfilesResult listFargateProfiles(ListFargateProfilesRequest listFargateProfilesRequest);
/**
*
* A list of identity provider configurations.
*
*
* @param listIdentityProviderConfigsRequest
* @return Result of the ListIdentityProviderConfigs operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ServiceUnavailableException
* The service is unavailable. Back off and retry the operation.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @sample AmazonEKS.ListIdentityProviderConfigs
* @see AWS API Documentation
*/
ListIdentityProviderConfigsResult listIdentityProviderConfigs(ListIdentityProviderConfigsRequest listIdentityProviderConfigsRequest);
/**
*
* Lists the Amazon EKS managed node groups associated with the specified cluster in your Amazon Web Services
* account in the specified Region. Self-managed node groups are not listed.
*
*
* @param listNodegroupsRequest
* @return Result of the ListNodegroups operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ServiceUnavailableException
* The service is unavailable. Back off and retry the operation.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @sample AmazonEKS.ListNodegroups
* @see AWS API
* Documentation
*/
ListNodegroupsResult listNodegroups(ListNodegroupsRequest listNodegroupsRequest);
/**
*
* List the tags for an Amazon EKS resource.
*
*
* @param listTagsForResourceRequest
* @return Result of the ListTagsForResource operation returned by the service.
* @throws BadRequestException
* This exception is thrown if the request contains a semantic error. The precise meaning will depend on the
* API, and will be documented in the error message.
* @throws NotFoundException
* A service resource associated with the request could not be found. Clients should not retry such
* requests.
* @sample AmazonEKS.ListTagsForResource
* @see AWS API
* Documentation
*/
ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest);
/**
*
* Lists the updates associated with an Amazon EKS cluster or managed node group in your Amazon Web Services
* account, in the specified Region.
*
*
* @param listUpdatesRequest
* @return Result of the ListUpdates operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @sample AmazonEKS.ListUpdates
* @see AWS API
* Documentation
*/
ListUpdatesResult listUpdates(ListUpdatesRequest listUpdatesRequest);
/**
*
* Connects a Kubernetes cluster to the Amazon EKS control plane.
*
*
* Any Kubernetes cluster can be connected to the Amazon EKS control plane to view current information about the
* cluster and its nodes.
*
*
* Cluster connection requires two steps. First, send a RegisterClusterRequest
to add it to
* the Amazon EKS control plane.
*
*
* Second, a Manifest containing the activationID
and activationCode
must be applied to the
* Kubernetes cluster through it's native provider to provide visibility.
*
*
* After the Manifest is updated and applied, then the connected cluster is visible to the Amazon EKS control plane.
* If the Manifest is not applied within three days, then the connected cluster will no longer be visible and must
* be deregistered. See DeregisterCluster.
*
*
* @param registerClusterRequest
* @return Result of the RegisterCluster operation returned by the service.
* @throws ResourceLimitExceededException
* You have encountered a service limit on the specified resource.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ServiceUnavailableException
* The service is unavailable. Back off and retry the operation.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws ResourceInUseException
* The specified resource is in use.
* @throws ResourcePropagationDelayException
* Required resources (such as service-linked roles) were created and are still propagating. Retry later.
* @sample AmazonEKS.RegisterCluster
* @see AWS API
* Documentation
*/
RegisterClusterResult registerCluster(RegisterClusterRequest registerClusterRequest);
/**
*
* Associates the specified tags to a resource with the specified resourceArn
. If existing tags on a
* resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags
* associated with that resource are deleted as well. Tags that you create for Amazon EKS resources do not propagate
* to any other resources associated with the cluster. For example, if you tag a cluster with this operation, that
* tag does not automatically propagate to the subnets and nodes associated with the cluster.
*
*
* @param tagResourceRequest
* @return Result of the TagResource operation returned by the service.
* @throws BadRequestException
* This exception is thrown if the request contains a semantic error. The precise meaning will depend on the
* API, and will be documented in the error message.
* @throws NotFoundException
* A service resource associated with the request could not be found. Clients should not retry such
* requests.
* @sample AmazonEKS.TagResource
* @see AWS API
* Documentation
*/
TagResourceResult tagResource(TagResourceRequest tagResourceRequest);
/**
*
* Deletes specified tags from a resource.
*
*
* @param untagResourceRequest
* @return Result of the UntagResource operation returned by the service.
* @throws BadRequestException
* This exception is thrown if the request contains a semantic error. The precise meaning will depend on the
* API, and will be documented in the error message.
* @throws NotFoundException
* A service resource associated with the request could not be found. Clients should not retry such
* requests.
* @sample AmazonEKS.UntagResource
* @see AWS API
* Documentation
*/
UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest);
/**
*
* Updates an Amazon EKS add-on.
*
*
* @param updateAddonRequest
* @return Result of the UpdateAddon operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws InvalidRequestException
* The request is invalid given the state of the cluster. Check the state of the cluster and the associated
* operations.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws ResourceInUseException
* The specified resource is in use.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @sample AmazonEKS.UpdateAddon
* @see AWS API
* Documentation
*/
UpdateAddonResult updateAddon(UpdateAddonRequest updateAddonRequest);
/**
*
* Updates an Amazon EKS cluster configuration. Your cluster continues to function during the update. The response
* output includes an update ID that you can use to track the status of your cluster update with the
* DescribeUpdate API operation.
*
*
* You can use this API operation to enable or disable exporting the Kubernetes control plane logs for your cluster
* to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more
* information, see Amazon EKS
* Cluster Control Plane Logs in the Amazon EKS User Guide .
*
*
*
* CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For
* more information, see CloudWatch Pricing.
*
*
*
* You can also use this API operation to enable or disable public and private access to your cluster's Kubernetes
* API server endpoint. By default, public access is enabled, and private access is disabled. For more information,
* see Amazon EKS cluster endpoint
* access control in the Amazon EKS User Guide .
*
*
*
* You can't update the subnets or security group IDs for an existing cluster.
*
*
*
* Cluster updates are asynchronous, and they should finish within a few minutes. During an update, the cluster
* status moves to UPDATING
(this status transition is eventually consistent). When the update is
* complete (either Failed
or Successful
), the cluster status moves to Active
* .
*
*
* @param updateClusterConfigRequest
* @return Result of the UpdateClusterConfig operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ResourceInUseException
* The specified resource is in use.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws InvalidRequestException
* The request is invalid given the state of the cluster. Check the state of the cluster and the associated
* operations.
* @sample AmazonEKS.UpdateClusterConfig
* @see AWS API
* Documentation
*/
UpdateClusterConfigResult updateClusterConfig(UpdateClusterConfigRequest updateClusterConfigRequest);
/**
*
* Updates an Amazon EKS cluster to the specified Kubernetes version. Your cluster continues to function during the
* update. The response output includes an update ID that you can use to track the status of your cluster update
* with the DescribeUpdate API operation.
*
*
* Cluster updates are asynchronous, and they should finish within a few minutes. During an update, the cluster
* status moves to UPDATING
(this status transition is eventually consistent). When the update is
* complete (either Failed
or Successful
), the cluster status moves to Active
* .
*
*
* If your cluster has managed node groups attached to it, all of your node groups’ Kubernetes versions must match
* the cluster’s Kubernetes version in order to update the cluster to a new Kubernetes version.
*
*
* @param updateClusterVersionRequest
* @return Result of the UpdateClusterVersion operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ResourceInUseException
* The specified resource is in use.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws InvalidRequestException
* The request is invalid given the state of the cluster. Check the state of the cluster and the associated
* operations.
* @sample AmazonEKS.UpdateClusterVersion
* @see AWS API
* Documentation
*/
UpdateClusterVersionResult updateClusterVersion(UpdateClusterVersionRequest updateClusterVersionRequest);
/**
*
* Updates an Amazon EKS managed node group configuration. Your node group continues to function during the update.
* The response output includes an update ID that you can use to track the status of your node group update with the
* DescribeUpdate API operation. Currently you can update the Kubernetes labels for a node group or the
* scaling configuration.
*
*
* @param updateNodegroupConfigRequest
* @return Result of the UpdateNodegroupConfig operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ResourceInUseException
* The specified resource is in use.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws InvalidRequestException
* The request is invalid given the state of the cluster. Check the state of the cluster and the associated
* operations.
* @sample AmazonEKS.UpdateNodegroupConfig
* @see AWS API
* Documentation
*/
UpdateNodegroupConfigResult updateNodegroupConfig(UpdateNodegroupConfigRequest updateNodegroupConfigRequest);
/**
*
* Updates the Kubernetes version or AMI version of an Amazon EKS managed node group.
*
*
* You can update a node group using a launch template only if the node group was originally deployed with a launch
* template. If you need to update a custom AMI in a node group that was deployed with a launch template, then
* update your custom AMI, specify the new ID in a new version of the launch template, and then update the node
* group to the new version of the launch template.
*
*
* If you update without a launch template, then you can update to the latest available AMI version of a node
* group's current Kubernetes version by not specifying a Kubernetes version in the request. You can update to the
* latest AMI version of your cluster's current Kubernetes version by specifying your cluster's Kubernetes version
* in the request. For information about Linux versions, see Amazon EKS optimized Amazon
* Linux AMI versions in the Amazon EKS User Guide. For information about Windows versions, see Amazon EKS optimized
* Windows AMI versions in the Amazon EKS User Guide.
*
*
* You cannot roll back a node group to an earlier Kubernetes version or AMI version.
*
*
* When a node in a managed node group is terminated due to a scaling action or update, the pods in that node are
* drained first. Amazon EKS attempts to drain the nodes gracefully and will fail if it is unable to do so. You can
* force
the update if Amazon EKS is unable to drain the nodes as a result of a pod disruption budget
* issue.
*
*
* @param updateNodegroupVersionRequest
* @return Result of the UpdateNodegroupVersion operation returned by the service.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClientException
* These errors are usually caused by a client action. Actions can include using an action or resource on
* behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier
* that is not valid.
* @throws ServerException
* These errors are usually caused by a server-side issue.
* @throws ResourceInUseException
* The specified resource is in use.
* @throws ResourceNotFoundException
* The specified resource could not be found. You can view your available clusters with ListClusters.
* You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node
* groups are Region-specific.
* @throws InvalidRequestException
* The request is invalid given the state of the cluster. Check the state of the cluster and the associated
* operations.
* @sample AmazonEKS.UpdateNodegroupVersion
* @see AWS API
* Documentation
*/
UpdateNodegroupVersionResult updateNodegroupVersion(UpdateNodegroupVersionRequest updateNodegroupVersionRequest);
/**
* Shuts down this client object, releasing any resources that might be held open. This is an optional method, and
* callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client
* has been shutdown, it should not be used to make any more requests.
*/
void shutdown();
/**
* Returns additional metadata for a previously executed successful request, typically used for debugging issues
* where a service isn't acting as expected. This data isn't considered part of the result data returned by an
* operation, so it's available through this separate, diagnostic interface.
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing a request.
*
* @param request
* The originally executed request.
*
* @return The response metadata for the specified request, or null if none is available.
*/
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
AmazonEKSWaiters waiters();
}