@ThreadSafe @Generated(value="com.amazonaws:aws-java-sdk-code-generator") public class AmazonEKSAsyncClient extends AmazonEKSClient implements AmazonEKSAsync
AsyncHandler
can be used to receive
notification when an asynchronous operation completes.
Amazon Elastic Kubernetes Service (Amazon EKS) is a managed service that makes it easy for you to run Kubernetes on AWS 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.
LOGGING_AWS_REQUEST_METRIC
ENDPOINT_PREFIX
builder, createCluster, deleteCluster, describeCluster, describeUpdate, getCachedResponseMetadata, listClusters, listUpdates, updateClusterConfig, updateClusterVersion, waiters
addRequestHandler, addRequestHandler, configureRegion, getClientConfiguration, getEndpointPrefix, getMonitoringListeners, getRequestMetricsCollector, getServiceName, getSignerByURI, getSignerOverride, getSignerRegionOverride, getTimeOffset, makeImmutable, removeRequestHandler, removeRequestHandler, setEndpoint, setEndpoint, setRegion, setServiceNameIntern, setSignerRegionOverride, setTimeOffset, withEndpoint, withRegion, withRegion, withTimeOffset
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
createCluster, deleteCluster, describeCluster, describeUpdate, getCachedResponseMetadata, listClusters, listUpdates, updateClusterConfig, updateClusterVersion, waiters
public static AmazonEKSAsyncClientBuilder asyncBuilder()
public ExecutorService getExecutorService()
public Future<CreateClusterResult> createClusterAsync(CreateClusterRequest request)
AmazonEKSAsync
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 AWS, and the Kubernetes API
is exposed via the Amazon EKS API server endpoint. Each Amazon EKS cluster control plane is single-tenant and
unique and 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 worker nodes (for example, to support
kubectl exec
, logs
, and proxy
data flows).
Amazon EKS worker nodes run in your AWS account and connect to your cluster's control plane via the Kubernetes API server endpoint and a certificate file that is created for your cluster.
You can use the endpointPublicAccess
and endpointPrivateAccess
parameters 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 use the logging
parameter 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 Amazon CloudWatch Pricing.
Cluster creation typically takes between 10 and 15 minutes. After you create an Amazon EKS cluster, you must configure your Kubernetes tooling to communicate with the API server and launch worker nodes into your cluster. For more information, see Managing Cluster Authentication and Launching Amazon EKS Worker Nodes in the Amazon EKS User Guide.
createClusterAsync
in interface AmazonEKSAsync
public Future<CreateClusterResult> createClusterAsync(CreateClusterRequest request, AsyncHandler<CreateClusterRequest,CreateClusterResult> asyncHandler)
AmazonEKSAsync
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 AWS, and the Kubernetes API
is exposed via the Amazon EKS API server endpoint. Each Amazon EKS cluster control plane is single-tenant and
unique and 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 worker nodes (for example, to support
kubectl exec
, logs
, and proxy
data flows).
Amazon EKS worker nodes run in your AWS account and connect to your cluster's control plane via the Kubernetes API server endpoint and a certificate file that is created for your cluster.
You can use the endpointPublicAccess
and endpointPrivateAccess
parameters 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 use the logging
parameter 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 Amazon CloudWatch Pricing.
Cluster creation typically takes between 10 and 15 minutes. After you create an Amazon EKS cluster, you must configure your Kubernetes tooling to communicate with the API server and launch worker nodes into your cluster. For more information, see Managing Cluster Authentication and Launching Amazon EKS Worker Nodes in the Amazon EKS User Guide.
createClusterAsync
in interface AmazonEKSAsync
asyncHandler
- Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<DeleteClusterResult> deleteClusterAsync(DeleteClusterRequest request)
AmazonEKSAsync
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.
deleteClusterAsync
in interface AmazonEKSAsync
public Future<DeleteClusterResult> deleteClusterAsync(DeleteClusterRequest request, AsyncHandler<DeleteClusterRequest,DeleteClusterResult> asyncHandler)
AmazonEKSAsync
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.
deleteClusterAsync
in interface AmazonEKSAsync
asyncHandler
- Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<DescribeClusterResult> describeClusterAsync(DescribeClusterRequest request)
AmazonEKSAsync
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.
describeClusterAsync
in interface AmazonEKSAsync
public Future<DescribeClusterResult> describeClusterAsync(DescribeClusterRequest request, AsyncHandler<DescribeClusterRequest,DescribeClusterResult> asyncHandler)
AmazonEKSAsync
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.
describeClusterAsync
in interface AmazonEKSAsync
asyncHandler
- Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<DescribeUpdateResult> describeUpdateAsync(DescribeUpdateRequest request)
AmazonEKSAsync
Returns descriptive information about an update against your Amazon EKS cluster.
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.
describeUpdateAsync
in interface AmazonEKSAsync
public Future<DescribeUpdateResult> describeUpdateAsync(DescribeUpdateRequest request, AsyncHandler<DescribeUpdateRequest,DescribeUpdateResult> asyncHandler)
AmazonEKSAsync
Returns descriptive information about an update against your Amazon EKS cluster.
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.
describeUpdateAsync
in interface AmazonEKSAsync
asyncHandler
- Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<ListClustersResult> listClustersAsync(ListClustersRequest request)
AmazonEKSAsync
Lists the Amazon EKS clusters in your AWS account in the specified Region.
listClustersAsync
in interface AmazonEKSAsync
public Future<ListClustersResult> listClustersAsync(ListClustersRequest request, AsyncHandler<ListClustersRequest,ListClustersResult> asyncHandler)
AmazonEKSAsync
Lists the Amazon EKS clusters in your AWS account in the specified Region.
listClustersAsync
in interface AmazonEKSAsync
asyncHandler
- Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<ListUpdatesResult> listUpdatesAsync(ListUpdatesRequest request)
AmazonEKSAsync
Lists the updates associated with an Amazon EKS cluster in your AWS account, in the specified Region.
listUpdatesAsync
in interface AmazonEKSAsync
public Future<ListUpdatesResult> listUpdatesAsync(ListUpdatesRequest request, AsyncHandler<ListUpdatesRequest,ListUpdatesResult> asyncHandler)
AmazonEKSAsync
Lists the updates associated with an Amazon EKS cluster in your AWS account, in the specified Region.
listUpdatesAsync
in interface AmazonEKSAsync
asyncHandler
- Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<UpdateClusterConfigResult> updateClusterConfigAsync(UpdateClusterConfigRequest request)
AmazonEKSAsync
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 Amazon 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 .
At this time, you can not 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
.
updateClusterConfigAsync
in interface AmazonEKSAsync
public Future<UpdateClusterConfigResult> updateClusterConfigAsync(UpdateClusterConfigRequest request, AsyncHandler<UpdateClusterConfigRequest,UpdateClusterConfigResult> asyncHandler)
AmazonEKSAsync
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 Amazon 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 .
At this time, you can not 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
.
updateClusterConfigAsync
in interface AmazonEKSAsync
asyncHandler
- Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<UpdateClusterVersionResult> updateClusterVersionAsync(UpdateClusterVersionRequest request)
AmazonEKSAsync
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
.
updateClusterVersionAsync
in interface AmazonEKSAsync
public Future<UpdateClusterVersionResult> updateClusterVersionAsync(UpdateClusterVersionRequest request, AsyncHandler<UpdateClusterVersionRequest,UpdateClusterVersionResult> asyncHandler)
AmazonEKSAsync
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
.
updateClusterVersionAsync
in interface AmazonEKSAsync
asyncHandler
- Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public void shutdown()
getExecutorService().shutdown()
followed by getExecutorService().awaitTermination()
prior to
calling this method.shutdown
in interface AmazonEKS
shutdown
in class AmazonEKSClient
Copyright © 2013 Amazon Web Services, Inc. All Rights Reserved.