Class: Aws::EKS::Client
- Inherits:
-
Seahorse::Client::Base
- Object
- Seahorse::Client::Base
- Aws::EKS::Client
- Includes:
- ClientStubs
- Defined in:
- lib/aws-sdk-eks/client.rb
Overview
An API client for EKS. To construct a client, you need to configure a ‘:region` and `:credentials`.
client = Aws::EKS::Client.new(
region: region_name,
credentials: credentials,
# ...
)
For details on configuring region and credentials see the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
See #initialize for a full list of supported configuration options.
Class Attribute Summary collapse
- .identifier ⇒ Object readonly private
API Operations collapse
-
#associate_access_policy(params = {}) ⇒ Types::AssociateAccessPolicyResponse
Associates an access policy and its scope to an access entry.
-
#associate_encryption_config(params = {}) ⇒ Types::AssociateEncryptionConfigResponse
Associates an encryption configuration to an existing cluster.
-
#associate_identity_provider_config(params = {}) ⇒ Types::AssociateIdentityProviderConfigResponse
Associates an identity provider configuration to a cluster.
-
#create_access_entry(params = {}) ⇒ Types::CreateAccessEntryResponse
Creates an access entry.
-
#create_addon(params = {}) ⇒ Types::CreateAddonResponse
Creates an Amazon EKS add-on.
-
#create_cluster(params = {}) ⇒ Types::CreateClusterResponse
Creates an Amazon EKS control plane.
-
#create_eks_anywhere_subscription(params = {}) ⇒ Types::CreateEksAnywhereSubscriptionResponse
Creates an EKS Anywhere subscription.
-
#create_fargate_profile(params = {}) ⇒ Types::CreateFargateProfileResponse
Creates an Fargate profile for your Amazon EKS cluster.
-
#create_nodegroup(params = {}) ⇒ Types::CreateNodegroupResponse
Creates a managed node group for an Amazon EKS cluster.
-
#create_pod_identity_association(params = {}) ⇒ Types::CreatePodIdentityAssociationResponse
Creates an EKS Pod Identity association between a service account in an Amazon EKS cluster and an IAM role with *EKS Pod Identity*.
-
#delete_access_entry(params = {}) ⇒ Struct
Deletes an access entry.
-
#delete_addon(params = {}) ⇒ Types::DeleteAddonResponse
Deletes an Amazon EKS add-on.
-
#delete_cluster(params = {}) ⇒ Types::DeleteClusterResponse
Deletes an Amazon EKS cluster control plane.
-
#delete_eks_anywhere_subscription(params = {}) ⇒ Types::DeleteEksAnywhereSubscriptionResponse
Deletes an expired or inactive subscription.
-
#delete_fargate_profile(params = {}) ⇒ Types::DeleteFargateProfileResponse
Deletes an Fargate profile.
-
#delete_nodegroup(params = {}) ⇒ Types::DeleteNodegroupResponse
Deletes a managed node group.
-
#delete_pod_identity_association(params = {}) ⇒ Types::DeletePodIdentityAssociationResponse
Deletes a EKS Pod Identity association.
-
#deregister_cluster(params = {}) ⇒ Types::DeregisterClusterResponse
Deregisters a connected cluster to remove it from the Amazon EKS control plane.
-
#describe_access_entry(params = {}) ⇒ Types::DescribeAccessEntryResponse
Describes an access entry.
-
#describe_addon(params = {}) ⇒ Types::DescribeAddonResponse
Describes an Amazon EKS add-on.
-
#describe_addon_configuration(params = {}) ⇒ Types::DescribeAddonConfigurationResponse
Returns configuration options.
-
#describe_addon_versions(params = {}) ⇒ Types::DescribeAddonVersionsResponse
Describes the versions for an add-on.
-
#describe_cluster(params = {}) ⇒ Types::DescribeClusterResponse
Describes an Amazon EKS cluster.
-
#describe_eks_anywhere_subscription(params = {}) ⇒ Types::DescribeEksAnywhereSubscriptionResponse
Returns descriptive information about a subscription.
-
#describe_fargate_profile(params = {}) ⇒ Types::DescribeFargateProfileResponse
Describes an Fargate profile.
-
#describe_identity_provider_config(params = {}) ⇒ Types::DescribeIdentityProviderConfigResponse
Describes an identity provider configuration.
-
#describe_insight(params = {}) ⇒ Types::DescribeInsightResponse
Returns details about an insight that you specify using its ID.
-
#describe_nodegroup(params = {}) ⇒ Types::DescribeNodegroupResponse
Describes a managed node group.
-
#describe_pod_identity_association(params = {}) ⇒ Types::DescribePodIdentityAssociationResponse
Returns descriptive information about an EKS Pod Identity association.
-
#describe_update(params = {}) ⇒ Types::DescribeUpdateResponse
Describes an update to an Amazon EKS resource.
-
#disassociate_access_policy(params = {}) ⇒ Struct
Disassociates an access policy from an access entry.
-
#disassociate_identity_provider_config(params = {}) ⇒ Types::DisassociateIdentityProviderConfigResponse
Disassociates an identity provider configuration from a cluster.
-
#list_access_entries(params = {}) ⇒ Types::ListAccessEntriesResponse
Lists the access entries for your cluster.
-
#list_access_policies(params = {}) ⇒ Types::ListAccessPoliciesResponse
Lists the available access policies.
-
#list_addons(params = {}) ⇒ Types::ListAddonsResponse
Lists the installed add-ons.
-
#list_associated_access_policies(params = {}) ⇒ Types::ListAssociatedAccessPoliciesResponse
Lists the access policies associated with an access entry.
-
#list_clusters(params = {}) ⇒ Types::ListClustersResponse
Lists the Amazon EKS clusters in your Amazon Web Services account in the specified Amazon Web Services Region.
-
#list_eks_anywhere_subscriptions(params = {}) ⇒ Types::ListEksAnywhereSubscriptionsResponse
Displays the full description of the subscription.
-
#list_fargate_profiles(params = {}) ⇒ Types::ListFargateProfilesResponse
Lists the Fargate profiles associated with the specified cluster in your Amazon Web Services account in the specified Amazon Web Services Region.
-
#list_identity_provider_configs(params = {}) ⇒ Types::ListIdentityProviderConfigsResponse
Lists the identity provider configurations for your cluster.
-
#list_insights(params = {}) ⇒ Types::ListInsightsResponse
Returns a list of all insights checked for against the specified cluster.
-
#list_nodegroups(params = {}) ⇒ Types::ListNodegroupsResponse
Lists the managed node groups associated with the specified cluster in your Amazon Web Services account in the specified Amazon Web Services Region.
-
#list_pod_identity_associations(params = {}) ⇒ Types::ListPodIdentityAssociationsResponse
List the EKS Pod Identity associations in a cluster.
-
#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse
List the tags for an Amazon EKS resource.
-
#list_updates(params = {}) ⇒ Types::ListUpdatesResponse
Lists the updates associated with an Amazon EKS resource in your Amazon Web Services account, in the specified Amazon Web Services Region.
-
#register_cluster(params = {}) ⇒ Types::RegisterClusterResponse
Connects a Kubernetes cluster to the Amazon EKS control plane.
-
#tag_resource(params = {}) ⇒ Struct
Associates the specified tags to an Amazon EKS resource with the specified ‘resourceArn`.
-
#untag_resource(params = {}) ⇒ Struct
Deletes specified tags from an Amazon EKS resource.
-
#update_access_entry(params = {}) ⇒ Types::UpdateAccessEntryResponse
Updates an access entry.
-
#update_addon(params = {}) ⇒ Types::UpdateAddonResponse
Updates an Amazon EKS add-on.
-
#update_cluster_config(params = {}) ⇒ Types::UpdateClusterConfigResponse
Updates an Amazon EKS cluster configuration.
-
#update_cluster_version(params = {}) ⇒ Types::UpdateClusterVersionResponse
Updates an Amazon EKS cluster to the specified Kubernetes version.
-
#update_eks_anywhere_subscription(params = {}) ⇒ Types::UpdateEksAnywhereSubscriptionResponse
Update an EKS Anywhere Subscription.
-
#update_nodegroup_config(params = {}) ⇒ Types::UpdateNodegroupConfigResponse
Updates an Amazon EKS managed node group configuration.
-
#update_nodegroup_version(params = {}) ⇒ Types::UpdateNodegroupVersionResponse
Updates the Kubernetes version or AMI version of an Amazon EKS managed node group.
-
#update_pod_identity_association(params = {}) ⇒ Types::UpdatePodIdentityAssociationResponse
Updates a EKS Pod Identity association.
Class Method Summary collapse
- .errors_module ⇒ Object private
Instance Method Summary collapse
- #build_request(operation_name, params = {}) ⇒ Object private
-
#initialize(options) ⇒ Client
constructor
A new instance of Client.
-
#wait_until(waiter_name, params = {}, options = {}) {|w.waiter| ... } ⇒ Boolean
Polls an API operation until a resource enters a desired state.
- #waiter_names ⇒ Object deprecated private Deprecated.
Constructor Details
#initialize(options) ⇒ Client
Returns a new instance of Client.
444 445 446 |
# File 'lib/aws-sdk-eks/client.rb', line 444 def initialize(*args) super end |
Class Attribute Details
.identifier ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
5476 5477 5478 |
# File 'lib/aws-sdk-eks/client.rb', line 5476 def identifier @identifier end |
Class Method Details
.errors_module ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
5479 5480 5481 |
# File 'lib/aws-sdk-eks/client.rb', line 5479 def errors_module Errors end |
Instance Method Details
#associate_access_policy(params = {}) ⇒ Types::AssociateAccessPolicyResponse
Associates an access policy and its scope to an access entry. For more information about associating access policies, see [Associating and disassociating access policies to and from access entries] in the *Amazon EKS User Guide*.
[1]: docs.aws.amazon.com/eks/latest/userguide/access-policies.html
507 508 509 510 |
# File 'lib/aws-sdk-eks/client.rb', line 507 def associate_access_policy(params = {}, = {}) req = build_request(:associate_access_policy, params) req.send_request() end |
#associate_encryption_config(params = {}) ⇒ Types::AssociateEncryptionConfigResponse
Associates an encryption configuration to an existing cluster.
Use this API to enable encryption on existing clusters that don’t already have encryption enabled. This allows you to implement a defense-in-depth security strategy without migrating applications to new Amazon EKS clusters.
570 571 572 573 |
# File 'lib/aws-sdk-eks/client.rb', line 570 def associate_encryption_config(params = {}, = {}) req = build_request(:associate_encryption_config, params) req.send_request() end |
#associate_identity_provider_config(params = {}) ⇒ Types::AssociateIdentityProviderConfigResponse
Associates 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 ‘Role` and `ClusterRole` objects, assign permissions to them, and then bind them to the identities using Kubernetes `RoleBinding` and `ClusterRoleBinding` objects. For more information see [Using RBAC Authorization] in the Kubernetes documentation.
656 657 658 659 |
# File 'lib/aws-sdk-eks/client.rb', line 656 def associate_identity_provider_config(params = {}, = {}) req = build_request(:associate_identity_provider_config, params) req.send_request() end |
#build_request(operation_name, params = {}) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 |
# File 'lib/aws-sdk-eks/client.rb', line 5322 def build_request(operation_name, params = {}) handlers = @handlers.for(operation_name) tracer = config.telemetry_provider.tracer_provider.tracer( Aws::Telemetry.module_to_tracer_name('Aws::EKS') ) context = Seahorse::Client::RequestContext.new( operation_name: operation_name, operation: config.api.operation(operation_name), client: self, params: params, config: config, tracer: tracer ) context[:gem_name] = 'aws-sdk-eks' context[:gem_version] = '1.122.0' Seahorse::Client::Request.new(handlers, context) end |
#create_access_entry(params = {}) ⇒ Types::CreateAccessEntryResponse
Creates an access entry.
An access entry allows an IAM principal to access your cluster. Access entries can replace the need to maintain entries in the ‘aws-auth` `ConfigMap` for authentication. You have the following options for authorizing an IAM principal to access Kubernetes objects on your cluster: Kubernetes role-based access control (RBAC), Amazon EKS, or both. Kubernetes RBAC authorization requires you to create and manage Kubernetes `Role`, `ClusterRole`, `RoleBinding`, and `ClusterRoleBinding` objects, in addition to managing access entries. If you use Amazon EKS authorization exclusively, you don’t need to create and manage Kubernetes ‘Role`, `ClusterRole`, `RoleBinding`, and `ClusterRoleBinding` objects.
For more information about access entries, see [Access entries] in the *Amazon EKS User Guide*.
[1]: docs.aws.amazon.com/eks/latest/userguide/access-entries.html
804 805 806 807 |
# File 'lib/aws-sdk-eks/client.rb', line 804 def create_access_entry(params = {}, = {}) req = build_request(:create_access_entry, params) req.send_request() end |
#create_addon(params = {}) ⇒ Types::CreateAddonResponse
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*.
[1]: docs.aws.amazon.com/eks/latest/userguide/eks-add-ons.html
966 967 968 969 |
# File 'lib/aws-sdk-eks/client.rb', line 966 def create_addon(params = {}, = {}) req = build_request(:create_addon, params) req.send_request() end |
#create_cluster(params = {}) ⇒ Types::CreateClusterResponse
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.
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][1
-
in the <i> <i>Amazon
EKS User Guide</i> </i>.
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 .
<note markdown=“1”> CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see [CloudWatch Pricing].
</note>
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 [Allowing users to access your cluster] and [Launching Amazon EKS nodes] in the *Amazon EKS User Guide*.
[1]: docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html [2]: docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html [3]: aws.amazon.com/cloudwatch/pricing/ [4]: docs.aws.amazon.com/eks/latest/userguide/cluster-auth.html [5]: docs.aws.amazon.com/eks/latest/userguide/launch-workers.html
1357 1358 1359 1360 |
# File 'lib/aws-sdk-eks/client.rb', line 1357 def create_cluster(params = {}, = {}) req = build_request(:create_cluster, params) req.send_request() end |
#create_eks_anywhere_subscription(params = {}) ⇒ Types::CreateEksAnywhereSubscriptionResponse
Creates an EKS Anywhere subscription. When a subscription is created, it is a contract agreement for the length of the term specified in the request. Licenses that are used to validate support are provisioned in Amazon Web Services License Manager and the caller account is granted access to EKS Anywhere Curated Packages.
1452 1453 1454 1455 |
# File 'lib/aws-sdk-eks/client.rb', line 1452 def create_eks_anywhere_subscription(params = {}, = {}) req = build_request(:create_eks_anywhere_subscription, params) req.send_request() end |
#create_fargate_profile(params = {}) ⇒ Types::CreateFargateProfileResponse
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*.
[1]: kubernetes.io/docs/reference/access-authn-authz/rbac/ [2]: docs.aws.amazon.com/eks/latest/userguide/pod-execution-role.html [3]: docs.aws.amazon.com/eks/latest/userguide/fargate-profile.html
1590 1591 1592 1593 |
# File 'lib/aws-sdk-eks/client.rb', line 1590 def create_fargate_profile(params = {}, = {}) req = build_request(:create_fargate_profile, params) req.send_request() end |
#create_nodegroup(params = {}) ⇒ Types::CreateNodegroupResponse
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 [Customizing managed nodes with launch templates].
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*.
<note markdown=“1”> Windows AMI types are only supported for commercial Amazon Web Services Regions that support Windows on Amazon EKS.
</note>
[1]: docs.aws.amazon.com/eks/latest/userguide/launch-templates.html [2]: docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html
1897 1898 1899 1900 |
# File 'lib/aws-sdk-eks/client.rb', line 1897 def create_nodegroup(params = {}, = {}) req = build_request(:create_nodegroup, params) req.send_request() end |
#create_pod_identity_association(params = {}) ⇒ Types::CreatePodIdentityAssociationResponse
Creates an EKS Pod Identity association between a service account in an Amazon EKS cluster and an IAM role with *EKS Pod Identity*. Use EKS Pod Identity to give temporary IAM credentials to pods and the credentials are rotated automatically.
Amazon EKS Pod Identity associations provide the ability to manage credentials for your applications, similar to the way that Amazon EC2 instance profiles provide credentials to Amazon EC2 instances.
If a pod uses a service account that has an association, Amazon EKS sets environment variables in the containers of the pod. The environment variables configure the Amazon Web Services SDKs, including the Command Line Interface, to use the EKS Pod Identity credentials.
Pod Identity is a simpler method than *IAM roles for service accounts*, as this method doesn’t use OIDC identity providers. Additionally, you can configure a role for Pod Identity once, and reuse it across clusters.
2012 2013 2014 2015 |
# File 'lib/aws-sdk-eks/client.rb', line 2012 def create_pod_identity_association(params = {}, = {}) req = build_request(:create_pod_identity_association, params) req.send_request() end |
#delete_access_entry(params = {}) ⇒ Struct
Deletes an access entry.
Deleting an access entry of a type other than ‘Standard` can cause your cluster to function improperly. If you delete an access entry in error, you can recreate it.
2042 2043 2044 2045 |
# File 'lib/aws-sdk-eks/client.rb', line 2042 def delete_access_entry(params = {}, = {}) req = build_request(:delete_access_entry, params) req.send_request() end |
#delete_addon(params = {}) ⇒ Types::DeleteAddonResponse
Deletes an Amazon EKS add-on.
When you remove an add-on, it’s deleted from the cluster. You can always manually start an add-on on the cluster using the Kubernetes API.
2110 2111 2112 2113 |
# File 'lib/aws-sdk-eks/client.rb', line 2110 def delete_addon(params = {}, = {}) req = build_request(:delete_addon, params) req.send_request() end |
#delete_cluster(params = {}) ⇒ Types::DeleteClusterResponse
Deletes an 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 ‘DeleteNodgroup` and `DeleteFargateProfile`.
[1]: docs.aws.amazon.com/eks/latest/userguide/delete-cluster.html
2230 2231 2232 2233 |
# File 'lib/aws-sdk-eks/client.rb', line 2230 def delete_cluster(params = {}, = {}) req = build_request(:delete_cluster, params) req.send_request() end |
#delete_eks_anywhere_subscription(params = {}) ⇒ Types::DeleteEksAnywhereSubscriptionResponse
Deletes an expired or inactive subscription. Deleting inactive subscriptions removes them from the Amazon Web Services Management Console view and from list/describe API responses. Subscriptions can only be cancelled within 7 days of creation and are cancelled by creating a ticket in the Amazon Web Services Support Center.
2276 2277 2278 2279 |
# File 'lib/aws-sdk-eks/client.rb', line 2276 def delete_eks_anywhere_subscription(params = {}, = {}) req = build_request(:delete_eks_anywhere_subscription, params) req.send_request() end |
#delete_fargate_profile(params = {}) ⇒ Types::DeleteFargateProfileResponse
Deletes an Fargate profile.
When you delete a Fargate profile, any ‘Pod` running on Fargate that was created with the profile is deleted. If the `Pod` matches another Fargate profile, then it is scheduled on Fargate with that profile. If it no longer matches any Fargate profiles, then it’s not scheduled on Fargate and 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.
2336 2337 2338 2339 |
# File 'lib/aws-sdk-eks/client.rb', line 2336 def delete_fargate_profile(params = {}, = {}) req = build_request(:delete_fargate_profile, params) req.send_request() end |
#delete_nodegroup(params = {}) ⇒ Types::DeleteNodegroupResponse
Deletes a managed node group.
2410 2411 2412 2413 |
# File 'lib/aws-sdk-eks/client.rb', line 2410 def delete_nodegroup(params = {}, = {}) req = build_request(:delete_nodegroup, params) req.send_request() end |
#delete_pod_identity_association(params = {}) ⇒ Types::DeletePodIdentityAssociationResponse
Deletes a EKS Pod Identity association.
The temporary Amazon Web Services credentials from the previous IAM role session might still be valid until the session expiry. If you need to immediately revoke the temporary session credentials, then go to the role in the IAM console.
2457 2458 2459 2460 |
# File 'lib/aws-sdk-eks/client.rb', line 2457 def delete_pod_identity_association(params = {}, = {}) req = build_request(:delete_pod_identity_association, params) req.send_request() end |
#deregister_cluster(params = {}) ⇒ Types::DeregisterClusterResponse
Deregisters a connected cluster to remove it from the Amazon EKS control plane.
A connected cluster is a Kubernetes cluster that you’ve connected to your control plane using the [Amazon EKS Connector].
[1]: docs.aws.amazon.com/eks/latest/userguide/eks-connector.html
2557 2558 2559 2560 |
# File 'lib/aws-sdk-eks/client.rb', line 2557 def deregister_cluster(params = {}, = {}) req = build_request(:deregister_cluster, params) req.send_request() end |
#describe_access_entry(params = {}) ⇒ Types::DescribeAccessEntryResponse
Describes an access entry.
2599 2600 2601 2602 |
# File 'lib/aws-sdk-eks/client.rb', line 2599 def describe_access_entry(params = {}, = {}) req = build_request(:describe_access_entry, params) req.send_request() end |
#describe_addon(params = {}) ⇒ Types::DescribeAddonResponse
Describes an Amazon EKS add-on.
The following waiters are defined for this operation (see #wait_until for detailed usage):
* addon_active
* addon_deleted
2663 2664 2665 2666 |
# File 'lib/aws-sdk-eks/client.rb', line 2663 def describe_addon(params = {}, = {}) req = build_request(:describe_addon, params) req.send_request() end |
#describe_addon_configuration(params = {}) ⇒ Types::DescribeAddonConfigurationResponse
Returns configuration options.
2710 2711 2712 2713 |
# File 'lib/aws-sdk-eks/client.rb', line 2710 def describe_addon_configuration(params = {}, = {}) req = build_request(:describe_addon_configuration, params) req.send_request() end |
#describe_addon_versions(params = {}) ⇒ Types::DescribeAddonVersionsResponse
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.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
2813 2814 2815 2816 |
# File 'lib/aws-sdk-eks/client.rb', line 2813 def describe_addon_versions(params = {}, = {}) req = build_request(:describe_addon_versions, params) req.send_request() end |
#describe_cluster(params = {}) ⇒ Types::DescribeClusterResponse
Describes 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 [Creating or updating a `kubeconfig` file for an Amazon EKS cluster].
<note markdown=“1”> The API server endpoint and certificate authority data aren’t available until the cluster reaches the ‘ACTIVE` state.
</note>
[1]: docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html
The following waiters are defined for this operation (see #wait_until for detailed usage):
* cluster_active
* cluster_deleted
2960 2961 2962 2963 |
# File 'lib/aws-sdk-eks/client.rb', line 2960 def describe_cluster(params = {}, = {}) req = build_request(:describe_cluster, params) req.send_request() end |
#describe_eks_anywhere_subscription(params = {}) ⇒ Types::DescribeEksAnywhereSubscriptionResponse
Returns descriptive information about a subscription.
3002 3003 3004 3005 |
# File 'lib/aws-sdk-eks/client.rb', line 3002 def describe_eks_anywhere_subscription(params = {}, = {}) req = build_request(:describe_eks_anywhere_subscription, params) req.send_request() end |
#describe_fargate_profile(params = {}) ⇒ Types::DescribeFargateProfileResponse
Describes an Fargate profile.
The following waiters are defined for this operation (see #wait_until for detailed usage):
* fargate_profile_active
* fargate_profile_deleted
3058 3059 3060 3061 |
# File 'lib/aws-sdk-eks/client.rb', line 3058 def describe_fargate_profile(params = {}, = {}) req = build_request(:describe_fargate_profile, params) req.send_request() end |
#describe_identity_provider_config(params = {}) ⇒ Types::DescribeIdentityProviderConfigResponse
Describes an identity provider configuration.
3106 3107 3108 3109 |
# File 'lib/aws-sdk-eks/client.rb', line 3106 def describe_identity_provider_config(params = {}, = {}) req = build_request(:describe_identity_provider_config, params) req.send_request() end |
#describe_insight(params = {}) ⇒ Types::DescribeInsightResponse
Returns details about an insight that you specify using its ID.
3163 3164 3165 3166 |
# File 'lib/aws-sdk-eks/client.rb', line 3163 def describe_insight(params = {}, = {}) req = build_request(:describe_insight, params) req.send_request() end |
#describe_nodegroup(params = {}) ⇒ Types::DescribeNodegroupResponse
Describes a managed node group.
The following waiters are defined for this operation (see #wait_until for detailed usage):
* nodegroup_active
* nodegroup_deleted
3243 3244 3245 3246 |
# File 'lib/aws-sdk-eks/client.rb', line 3243 def describe_nodegroup(params = {}, = {}) req = build_request(:describe_nodegroup, params) req.send_request() end |
#describe_pod_identity_association(params = {}) ⇒ Types::DescribePodIdentityAssociationResponse
Returns descriptive information about an EKS Pod Identity association.
This action requires the ID of the association. You can get the ID from the response to the ‘CreatePodIdentityAssocation` for newly created associations. Or, you can list the IDs for associations with `ListPodIdentityAssociations` and filter the list by namespace or service account.
3291 3292 3293 3294 |
# File 'lib/aws-sdk-eks/client.rb', line 3291 def describe_pod_identity_association(params = {}, = {}) req = build_request(:describe_pod_identity_association, params) req.send_request() end |
#describe_update(params = {}) ⇒ Types::DescribeUpdateResponse
Describes an update to an Amazon EKS resource.
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.
3353 3354 3355 3356 |
# File 'lib/aws-sdk-eks/client.rb', line 3353 def describe_update(params = {}, = {}) req = build_request(:describe_update, params) req.send_request() end |
#disassociate_access_policy(params = {}) ⇒ Struct
Disassociates an access policy from an access entry.
3384 3385 3386 3387 |
# File 'lib/aws-sdk-eks/client.rb', line 3384 def disassociate_access_policy(params = {}, = {}) req = build_request(:disassociate_access_policy, params) req.send_request() end |
#disassociate_identity_provider_config(params = {}) ⇒ Types::DisassociateIdentityProviderConfigResponse
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 IAM principals.
3442 3443 3444 3445 |
# File 'lib/aws-sdk-eks/client.rb', line 3442 def disassociate_identity_provider_config(params = {}, = {}) req = build_request(:disassociate_identity_provider_config, params) req.send_request() end |
#list_access_entries(params = {}) ⇒ Types::ListAccessEntriesResponse
Lists the access entries for your cluster.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
3505 3506 3507 3508 |
# File 'lib/aws-sdk-eks/client.rb', line 3505 def list_access_entries(params = {}, = {}) req = build_request(:list_access_entries, params) req.send_request() end |
#list_access_policies(params = {}) ⇒ Types::ListAccessPoliciesResponse
Lists the available access policies.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
3559 3560 3561 3562 |
# File 'lib/aws-sdk-eks/client.rb', line 3559 def list_access_policies(params = {}, = {}) req = build_request(:list_access_policies, params) req.send_request() end |
#list_addons(params = {}) ⇒ Types::ListAddonsResponse
Lists the installed add-ons.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
3616 3617 3618 3619 |
# File 'lib/aws-sdk-eks/client.rb', line 3616 def list_addons(params = {}, = {}) req = build_request(:list_addons, params) req.send_request() end |
#list_associated_access_policies(params = {}) ⇒ Types::ListAssociatedAccessPoliciesResponse
Lists the access policies associated with an access entry.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
3686 3687 3688 3689 |
# File 'lib/aws-sdk-eks/client.rb', line 3686 def list_associated_access_policies(params = {}, = {}) req = build_request(:list_associated_access_policies, params) req.send_request() end |
#list_clusters(params = {}) ⇒ Types::ListClustersResponse
Lists the Amazon EKS clusters in your Amazon Web Services account in the specified Amazon Web Services Region.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
3768 3769 3770 3771 |
# File 'lib/aws-sdk-eks/client.rb', line 3768 def list_clusters(params = {}, = {}) req = build_request(:list_clusters, params) req.send_request() end |
#list_eks_anywhere_subscriptions(params = {}) ⇒ Types::ListEksAnywhereSubscriptionsResponse
Displays the full description of the subscription.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
3835 3836 3837 3838 |
# File 'lib/aws-sdk-eks/client.rb', line 3835 def list_eks_anywhere_subscriptions(params = {}, = {}) req = build_request(:list_eks_anywhere_subscriptions, params) req.send_request() end |
#list_fargate_profiles(params = {}) ⇒ Types::ListFargateProfilesResponse
Lists the Fargate profiles associated with the specified cluster in your Amazon Web Services account in the specified Amazon Web Services Region.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
3894 3895 3896 3897 |
# File 'lib/aws-sdk-eks/client.rb', line 3894 def list_fargate_profiles(params = {}, = {}) req = build_request(:list_fargate_profiles, params) req.send_request() end |
#list_identity_provider_configs(params = {}) ⇒ Types::ListIdentityProviderConfigsResponse
Lists the identity provider configurations for your cluster.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
3952 3953 3954 3955 |
# File 'lib/aws-sdk-eks/client.rb', line 3952 def list_identity_provider_configs(params = {}, = {}) req = build_request(:list_identity_provider_configs, params) req.send_request() end |
#list_insights(params = {}) ⇒ Types::ListInsightsResponse
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.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
4024 4025 4026 4027 |
# File 'lib/aws-sdk-eks/client.rb', line 4024 def list_insights(params = {}, = {}) req = build_request(:list_insights, params) req.send_request() end |
#list_nodegroups(params = {}) ⇒ Types::ListNodegroupsResponse
Lists the managed node groups associated with the specified cluster in your Amazon Web Services account in the specified Amazon Web Services Region. Self-managed node groups aren’t listed.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
4083 4084 4085 4086 |
# File 'lib/aws-sdk-eks/client.rb', line 4083 def list_nodegroups(params = {}, = {}) req = build_request(:list_nodegroups, params) req.send_request() end |
#list_pod_identity_associations(params = {}) ⇒ Types::ListPodIdentityAssociationsResponse
List the EKS Pod Identity associations in a cluster. You can filter the list by the namespace that the association is in or the service account that the association uses.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
4157 4158 4159 4160 |
# File 'lib/aws-sdk-eks/client.rb', line 4157 def list_pod_identity_associations(params = {}, = {}) req = build_request(:list_pod_identity_associations, params) req.send_request() end |
#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse
List the tags for an Amazon EKS resource.
4203 4204 4205 4206 |
# File 'lib/aws-sdk-eks/client.rb', line 4203 def (params = {}, = {}) req = build_request(:list_tags_for_resource, params) req.send_request() end |
#list_updates(params = {}) ⇒ Types::ListUpdatesResponse
Lists the updates associated with an Amazon EKS resource in your Amazon Web Services account, in the specified Amazon Web Services Region.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
4270 4271 4272 4273 |
# File 'lib/aws-sdk-eks/client.rb', line 4270 def list_updates(params = {}, = {}) req = build_request(:list_updates, params) req.send_request() end |
#register_cluster(params = {}) ⇒ Types::RegisterClusterResponse
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, the connected cluster is visible to the Amazon EKS control plane. If the manifest isn’t applied within three days, the connected cluster will no longer be visible and must be deregistered using ‘DeregisterCluster`.
4405 4406 4407 4408 |
# File 'lib/aws-sdk-eks/client.rb', line 4405 def register_cluster(params = {}, = {}) req = build_request(:register_cluster, params) req.send_request() end |
#tag_resource(params = {}) ⇒ Struct
Associates the specified tags to an Amazon EKS resource with the specified ‘resourceArn`. If existing tags on a resource are not specified in the request parameters, they aren’t changed. When a resource is deleted, the tags associated with that resource are also deleted. Tags that you create for Amazon EKS resources don’t propagate to any other resources associated with the cluster. For example, if you tag a cluster with this operation, that tag doesn’t automatically propagate to the subnets and nodes associated with the cluster.
4443 4444 4445 4446 |
# File 'lib/aws-sdk-eks/client.rb', line 4443 def tag_resource(params = {}, = {}) req = build_request(:tag_resource, params) req.send_request() end |
#untag_resource(params = {}) ⇒ Struct
Deletes specified tags from an Amazon EKS resource.
4469 4470 4471 4472 |
# File 'lib/aws-sdk-eks/client.rb', line 4469 def untag_resource(params = {}, = {}) req = build_request(:untag_resource, params) req.send_request() end |
#update_access_entry(params = {}) ⇒ Types::UpdateAccessEntryResponse
Updates an access entry.
4557 4558 4559 4560 |
# File 'lib/aws-sdk-eks/client.rb', line 4557 def update_access_entry(params = {}, = {}) req = build_request(:update_access_entry, params) req.send_request() end |
#update_addon(params = {}) ⇒ Types::UpdateAddonResponse
Updates an Amazon EKS add-on.
4685 4686 4687 4688 |
# File 'lib/aws-sdk-eks/client.rb', line 4685 def update_addon(params = {}, = {}) req = build_request(:update_addon, params) req.send_request() end |
#update_cluster_config(params = {}) ⇒ Types::UpdateClusterConfigResponse
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 ‘DescribeUpdate`“/>.
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 .
<note markdown=“1”> CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see [CloudWatch Pricing].
</note>
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 also use this API operation to choose different subnets and security groups for the cluster. You must specify at least two subnets that are in different Availability Zones. You can’t change which VPC the subnets are from, the subnets must be in the same VPC as the subnets that the cluster was created with. For more information about the VPC requirements, see
- docs.aws.amazon.com/eks/latest/userguide/network_reqs.html][4
-
in the Amazon EKS User Guide .
You can also use this API operation to enable or disable ARC zonal shift. If zonal shift is enabled, Amazon Web Services configures zonal autoshift for the 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`.
[1]: docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html [2]: aws.amazon.com/cloudwatch/pricing/ [3]: docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html [4]: docs.aws.amazon.com/eks/latest/userguide/network_reqs.html
4888 4889 4890 4891 |
# File 'lib/aws-sdk-eks/client.rb', line 4888 def update_cluster_config(params = {}, = {}) req = build_request(:update_cluster_config, params) req.send_request() end |
#update_cluster_version(params = {}) ⇒ Types::UpdateClusterVersionResponse
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.
4952 4953 4954 4955 |
# File 'lib/aws-sdk-eks/client.rb', line 4952 def update_cluster_version(params = {}, = {}) req = build_request(:update_cluster_version, params) req.send_request() end |
#update_eks_anywhere_subscription(params = {}) ⇒ Types::UpdateEksAnywhereSubscriptionResponse
Update an EKS Anywhere Subscription. Only auto renewal and tags can be updated after subscription creation.
5008 5009 5010 5011 |
# File 'lib/aws-sdk-eks/client.rb', line 5008 def update_eks_anywhere_subscription(params = {}, = {}) req = build_request(:update_eks_anywhere_subscription, params) req.send_request() end |
#update_nodegroup_config(params = {}) ⇒ Types::UpdateNodegroupConfigResponse
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.
5115 5116 5117 5118 |
# File 'lib/aws-sdk-eks/client.rb', line 5115 def update_nodegroup_config(params = {}, = {}) req = build_request(:update_nodegroup_config, params) req.send_request() end |
#update_nodegroup_version(params = {}) ⇒ Types::UpdateNodegroupVersionResponse
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, every ‘Pod` on that node is 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.
[1]: docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html [2]: docs.aws.amazon.com/eks/latest/userguide/eks-ami-versions-windows.html
5255 5256 5257 5258 |
# File 'lib/aws-sdk-eks/client.rb', line 5255 def update_nodegroup_version(params = {}, = {}) req = build_request(:update_nodegroup_version, params) req.send_request() end |
#update_pod_identity_association(params = {}) ⇒ Types::UpdatePodIdentityAssociationResponse
Updates a EKS Pod Identity association. Only the IAM role can be changed; an association can’t be moved between clusters, namespaces, or service accounts. If you need to edit the namespace or service account, you need to delete the association and then create a new association with your desired settings.
5313 5314 5315 5316 |
# File 'lib/aws-sdk-eks/client.rb', line 5313 def update_pod_identity_association(params = {}, = {}) req = build_request(:update_pod_identity_association, params) req.send_request() end |
#wait_until(waiter_name, params = {}, options = {}) {|w.waiter| ... } ⇒ Boolean
Polls an API operation until a resource enters a desired state.
## Basic Usage
A waiter will call an API operation until:
-
It is successful
-
It enters a terminal state
-
It makes the maximum number of attempts
In between attempts, the waiter will sleep.
# polls in a loop, sleeping between attempts
client.wait_until(waiter_name, params)
## Configuration
You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You can pass configuration as the final arguments hash.
# poll for ~25 seconds
client.wait_until(waiter_name, params, {
max_attempts: 5,
delay: 5,
})
## Callbacks
You can be notified before each polling attempt and before each delay. If you throw ‘:success` or `:failure` from these callbacks, it will terminate the waiter.
started_at = Time.now
client.wait_until(waiter_name, params, {
# disable max attempts
max_attempts: nil,
# poll for 1 hour, instead of a number of attempts
before_wait: -> (attempts, response) do
throw :failure if Time.now - started_at > 3600
end
})
## Handling Errors
When a waiter is unsuccessful, it will raise an error. All of the failure errors extend from Waiters::Errors::WaiterFailed.
begin
client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
# resource did not enter the desired state in time
end
## Valid Waiters
The following table lists the valid waiter names, the operations they call, and the default ‘:delay` and `:max_attempts` values.
| waiter_name | params | :delay | :max_attempts | | ———————– | ——————————— | ——– | ————- | | addon_active | #describe_addon | 10 | 60 | | addon_deleted | #describe_addon | 10 | 60 | | cluster_active | #describe_cluster | 30 | 40 | | cluster_deleted | #describe_cluster | 30 | 40 | | fargate_profile_active | #describe_fargate_profile | 10 | 60 | | fargate_profile_deleted | #describe_fargate_profile | 30 | 60 | | nodegroup_active | #describe_nodegroup | 30 | 80 | | nodegroup_deleted | #describe_nodegroup | 30 | 40 |
5435 5436 5437 5438 5439 |
# File 'lib/aws-sdk-eks/client.rb', line 5435 def wait_until(waiter_name, params = {}, = {}) w = waiter(waiter_name, ) yield(w.waiter) if block_given? # deprecated w.wait(params) end |
#waiter_names ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
5443 5444 5445 |
# File 'lib/aws-sdk-eks/client.rb', line 5443 def waiter_names waiters.keys end |