Class: Aws::EKS::Client
- Inherits:
-
Seahorse::Client::Base
- Object
- Seahorse::Client::Base
- Aws::EKS::Client
- Includes:
- ClientStubs
- Defined in:
- gems/aws-sdk-eks/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.
See #initialize for a full list of supported configuration options.
Instance Attribute Summary
Attributes inherited from Seahorse::Client::Base
API Operations collapse
-
#activate_certificate_authority(params = {}) ⇒ Types::ActivateCertificateAuthorityResponse
Activates a successor certificate authority (CA) as the signing certificate authority for your cluster, completing a CA rotation.
-
#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.
-
#cancel_update(params = {}) ⇒ Types::CancelUpdateResponse
Cancels an in-progress update to an Amazon EKS cluster on a best-effort basis.
-
#create_access_entry(params = {}) ⇒ Types::CreateAccessEntryResponse
Creates an access entry.
-
#create_addon(params = {}) ⇒ Types::CreateAddonResponse
Creates an Amazon EKS add-on.
-
#create_capability(params = {}) ⇒ Types::CreateCapabilityResponse
Creates a managed capability resource for an Amazon EKS cluster.
-
#create_certificate_authority(params = {}) ⇒ Types::CreateCertificateAuthorityResponse
Appends a successor certificate authority (CA) to your cluster, beginning the CA rotation process.
-
#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_capability(params = {}) ⇒ Types::DeleteCapabilityResponse
Deletes a managed capability from your Amazon EKS cluster.
-
#delete_certificate_authority(params = {}) ⇒ Types::DeleteCertificateAuthorityResponse
Deletes a certificate authority (CA) from your cluster.
-
#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_capability(params = {}) ⇒ Types::DescribeCapabilityResponse
Returns detailed information about a specific managed capability in your Amazon EKS cluster, including its current status, configuration, health information, and any issues that may be affecting its operation.
-
#describe_certificate_authority(params = {}) ⇒ Types::DescribeCertificateAuthorityResponse
Returns detailed information about a certificate authority (CA) in your cluster, including its validity period, signing and distribution status, provenance, scheduled auto-activation events, and public certificate data.
-
#describe_cluster(params = {}) ⇒ Types::DescribeClusterResponse
Describes an Amazon EKS cluster.
-
#describe_cluster_versions(params = {}) ⇒ Types::DescribeClusterVersionsResponse
Lists available Kubernetes versions for Amazon EKS clusters.
-
#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_insights_refresh(params = {}) ⇒ Types::DescribeInsightsRefreshResponse
Returns the status of the latest on-demand cluster insights refresh operation.
-
#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_capabilities(params = {}) ⇒ Types::ListCapabilitiesResponse
Lists all managed capabilities in your Amazon EKS cluster.
-
#list_certificate_authorities(params = {}) ⇒ Types::ListCertificateAuthoritiesResponse
Lists the certificate authorities (CAs) for your cluster.
-
#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.
-
#start_insights_refresh(params = {}) ⇒ Types::StartInsightsRefreshResponse
Initiates an on-demand refresh operation for cluster insights, getting the latest analysis outside of the standard refresh schedule.
-
#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_capability(params = {}) ⇒ Types::UpdateCapabilityResponse
Updates the configuration of a managed capability in your Amazon EKS cluster.
-
#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.
Instance Method Summary collapse
-
#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.
Methods included from ClientStubs
#api_requests, #stub_data, #stub_responses
Methods inherited from Seahorse::Client::Base
add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins
Methods included from Seahorse::Client::HandlerBuilder
#handle, #handle_request, #handle_response
Constructor Details
#initialize(options) ⇒ Client
Returns a new instance of Client.
479 480 481 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 479 def initialize(*args) super end |
Instance Method Details
#activate_certificate_authority(params = {}) ⇒ Types::ActivateCertificateAuthorityResponse
Activates a successor certificate authority (CA) as the signing certificate authority for your cluster, completing a CA rotation.
When you activate a successor CA, Amazon EKS promotes it to be the
cluster's signer (its signingStatus becomes IN_USE) and the
outgoing CA is retired (NOT_USED). The outgoing CA remains in the
cluster's trust bundle but no longer signs certificates. The
successor CA you activate must already be present on the cluster and
fully distributed (its distributionStatus must be COMPLETE). This
is an asynchronous operation that returns an update object you can
track with DescribeUpdate .
Before you activate the successor CA, make sure the worker nodes you manage and your external clients have been updated to trust it, so they maintain connectivity to the API server after activation. For a limited period after activation, CA rollback is available to revert to the outgoing CA if needed. If you don't activate the successor CA yourself, Amazon EKS activates it automatically as the expiration deadline approaches. For more information, see Rotate the Amazon EKS cluster certificate authority in the Amazon EKS User Guide.
567 568 569 570 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 567 def (params = {}, = {}) req = build_request(:activate_certificate_authority, params) req.send_request() end |
#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.
629 630 631 632 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 629 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.
694 695 696 697 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 694 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.
782 783 784 785 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 782 def associate_identity_provider_config(params = {}, = {}) req = build_request(:associate_identity_provider_config, params) req.send_request() end |
#cancel_update(params = {}) ⇒ Types::CancelUpdateResponse
Cancels an in-progress update to an Amazon EKS cluster on a
best-effort basis. Cancellation is only performed if the update can be
cancelled. Currently, this is supported for VersionRollback update
types on EKS Auto Mode clusters when nodes are rolling back.
A successful cancellation stops the node rollback. After cancellation, nodes converge to the current cluster version honoring configured disruption controls. If the control plane rollback has already begun, the cancellation request fails.
843 844 845 846 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 843 def cancel_update(params = {}, = {}) req = build_request(:cancel_update, params) req.send_request() 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.
997 998 999 1000 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 997 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.
1167 1168 1169 1170 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 1167 def create_addon(params = {}, = {}) req = build_request(:create_addon, params) req.send_request() end |
#create_capability(params = {}) ⇒ Types::CreateCapabilityResponse
Creates a managed capability resource for an Amazon EKS cluster.
Capabilities provide fully managed capabilities to build and scale with Kubernetes. When you create a capability, Amazon EKSprovisions and manages the infrastructure required to run the capability outside of your cluster. This approach reduces operational overhead and preserves cluster resources.
You can only create one Capability of each type on a given Amazon EKS cluster. Valid types are Argo CD for declarative GitOps deployment, Amazon Web Services Controllers for Kubernetes (ACK) for resource management, and Kube Resource Orchestrator (KRO) for Kubernetes custom resource orchestration.
For more information, see EKS Capabilities in the Amazon EKS User Guide.
1368 1369 1370 1371 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 1368 def create_capability(params = {}, = {}) req = build_request(:create_capability, params) req.send_request() end |
#create_certificate_authority(params = {}) ⇒ Types::CreateCertificateAuthorityResponse
Appends a successor certificate authority (CA) to your cluster, beginning the CA rotation process.
A cluster certificate authority is the root of trust for your
cluster's control plane. It signs the certificates that secure
communication between the Kubernetes API server and its clients, and
its public certificate is distributed to your cluster's trust bundle
so that worker nodes and clients can verify the API server's
identity. Each cluster can have at most two certificate authorities at
a time: the outgoing CA that's currently signing (its signingStatus
is IN_USE) and one successor CA (signingStatus of NOT_USED) that
you can later activate to complete the rotation.
Appending a successor CA adds its public certificate to the cluster's
trust bundle so that the cluster trusts both CAs simultaneously (the
dual trust period), but it doesn't begin signing certificates. Amazon
EKS then distributes the successor CA to the Amazon Web Services
managed components in your cluster; you can track this through the
CA's distributionStatus. The successor CA can't be activated until
its distributionStatus is COMPLETE. To activate it as the
cluster's signer, use ActivateCertificateAuthority . This is
an asynchronous operation that returns an update object. If you
don't append a successor CA yourself, Amazon EKS appends one
automatically before the outgoing CA approaches expiration.
For more information, see Rotate the Amazon EKS cluster certificate authority in the Amazon EKS User Guide.
1456 1457 1458 1459 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 1456 def (params = {}, = {}) req = build_request(:create_certificate_authority, 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. The endpoint domain name
and IP address family depends on the value of the ipFamily for the
cluster. 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 .
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.
1928 1929 1930 1931 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 1928 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.
2026 2027 2028 2029 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 2026 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.
2164 2165 2166 2167 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 2164 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 later updates, you will only be able to update a node group using a launch template only if it was originally deployed with a launch template. Additionally, the launch template ID or name must match what was used when the node group was created. You can update the launch template version with necessary changes. 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.
2529 2530 2531 2532 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 2529 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.
EKS 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 EKS Pod Identity once, and reuse it across clusters.
Similar to Amazon Web Services IAM behavior, EKS Pod Identity associations are eventually consistent, and may take several seconds to be effective after the initial API call returns successfully. You must design your applications to account for these potential delays. We recommend that you don’t include association create/updates in the critical, high-availability code paths of your application. Instead, make changes in a separate initialization or setup routine that you run less frequently.
You can set a target IAM role in the same or a different account for advanced scenarios. With a target role, EKS Pod Identity automatically performs two role assumptions in sequence: first assuming the role in the association that is in this account, then using those credentials to assume the target IAM role. This process provides your Pod with temporary credentials that have the permissions defined in the target role, allowing secure access to resources in another Amazon Web Services account.
2733 2734 2735 2736 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 2733 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.
2763 2764 2765 2766 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 2763 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.
2832 2833 2834 2835 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 2832 def delete_addon(params = {}, = {}) req = build_request(:delete_addon, params) req.send_request() end |
#delete_capability(params = {}) ⇒ Types::DeleteCapabilityResponse
Deletes a managed capability from your Amazon EKS cluster. When you delete a capability, Amazon EKS removes the capability infrastructure but retains all resources that were managed by the capability.
Before deleting a capability, you should delete all Kubernetes
resources that were created by the capability. After the capability is
deleted, these resources become difficult to manage because the
controller that managed them is no longer available. To delete
resources before removing the capability, use kubectl delete or
remove them through your GitOps workflow.
2904 2905 2906 2907 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 2904 def delete_capability(params = {}, = {}) req = build_request(:delete_capability, params) req.send_request() end |
#delete_certificate_authority(params = {}) ⇒ Types::DeleteCertificateAuthorityResponse
Deletes a certificate authority (CA) from your cluster.
Deleting a certificate authority removes its public certificate from
the cluster's trust bundle. You can't delete the certificate
authority that's currently signing certificates for the cluster (its
signingStatus is IN_USE) — to remove the outgoing CA, first
activate the successor CA with ActivateCertificateAuthority .
Amazon EKS also protects a successor CA from deletion in certain cases
to keep a valid rotation path — for example, a successor that Amazon
EKS appended can't be deleted while it's the only successor on the
cluster. This is an asynchronous operation that returns an update
object.
2982 2983 2984 2985 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 2982 def (params = {}, = {}) req = build_request(:delete_certificate_authority, params) req.send_request() end |
#delete_cluster(params = {}) ⇒ Types::DeleteClusterResponse
Deletes an Amazon EKS cluster control plane.
If you have active services and ingress resources 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.
3120 3121 3122 3123 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 3120 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.
3169 3170 3171 3172 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 3169 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.
3229 3230 3231 3232 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 3229 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.
3319 3320 3321 3322 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 3319 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.
3370 3371 3372 3373 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 3370 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.
3488 3489 3490 3491 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 3488 def deregister_cluster(params = {}, = {}) req = build_request(:deregister_cluster, params) req.send_request() end |
#describe_access_entry(params = {}) ⇒ Types::DescribeAccessEntryResponse
Describes an access entry.
3530 3531 3532 3533 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 3530 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
3595 3596 3597 3598 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 3595 def describe_addon(params = {}, = {}) req = build_request(:describe_addon, params) req.send_request() end |
#describe_addon_configuration(params = {}) ⇒ Types::DescribeAddonConfigurationResponse
Returns configuration options.
3642 3643 3644 3645 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 3642 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.
3746 3747 3748 3749 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 3746 def describe_addon_versions(params = {}, = {}) req = build_request(:describe_addon_versions, params) req.send_request() end |
#describe_capability(params = {}) ⇒ Types::DescribeCapabilityResponse
Returns detailed information about a specific managed capability in your Amazon EKS cluster, including its current status, configuration, health information, and any issues that may be affecting its operation.
3812 3813 3814 3815 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 3812 def describe_capability(params = {}, = {}) req = build_request(:describe_capability, params) req.send_request() end |
#describe_certificate_authority(params = {}) ⇒ Types::DescribeCertificateAuthorityResponse
Returns detailed information about a certificate authority (CA) in your cluster, including its validity period, signing and distribution status, provenance, scheduled auto-activation events, and public certificate data.
3859 3860 3861 3862 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 3859 def (params = {}, = {}) req = build_request(:describe_certificate_authority, 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.
ACTIVE state.
The following waiters are defined for this operation (see #wait_until for detailed usage):
- cluster_active
- cluster_deleted
4024 4025 4026 4027 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 4024 def describe_cluster(params = {}, = {}) req = build_request(:describe_cluster, params) req.send_request() end |
#describe_cluster_versions(params = {}) ⇒ Types::DescribeClusterVersionsResponse
Lists available Kubernetes versions for Amazon EKS clusters.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
4152 4153 4154 4155 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 4152 def describe_cluster_versions(params = {}, = {}) req = build_request(:describe_cluster_versions, params) req.send_request() end |
#describe_eks_anywhere_subscription(params = {}) ⇒ Types::DescribeEksAnywhereSubscriptionResponse
Returns descriptive information about a subscription.
4197 4198 4199 4200 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 4197 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
4253 4254 4255 4256 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 4253 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.
4301 4302 4303 4304 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 4301 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.
4362 4363 4364 4365 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 4362 def describe_insight(params = {}, = {}) req = build_request(:describe_insight, params) req.send_request() end |
#describe_insights_refresh(params = {}) ⇒ Types::DescribeInsightsRefreshResponse
Returns the status of the latest on-demand cluster insights refresh operation.
4398 4399 4400 4401 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 4398 def describe_insights_refresh(params = {}, = {}) req = build_request(:describe_insights_refresh, 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
4494 4495 4496 4497 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 4494 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.
4546 4547 4548 4549 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 4546 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 Successful, the update is complete.
If an update fails, the status is Failed, and an error detail
explains the reason for the failure.
The following waiters are defined for this operation (see #wait_until for detailed usage):
- certificate_authority_update_complete
4619 4620 4621 4622 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 4619 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.
4650 4651 4652 4653 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 4650 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.
4710 4711 4712 4713 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 4710 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.
4773 4774 4775 4776 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 4773 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.
4827 4828 4829 4830 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 4827 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.
4884 4885 4886 4887 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 4884 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.
4954 4955 4956 4957 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 4954 def list_associated_access_policies(params = {}, = {}) req = build_request(:list_associated_access_policies, params) req.send_request() end |
#list_capabilities(params = {}) ⇒ Types::ListCapabilitiesResponse
Lists all managed capabilities in your Amazon EKS cluster. You can use this operation to get an overview of all capabilities and their current status.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
5010 5011 5012 5013 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 5010 def list_capabilities(params = {}, = {}) req = build_request(:list_capabilities, params) req.send_request() end |
#list_certificate_authorities(params = {}) ⇒ Types::ListCertificateAuthoritiesResponse
Lists the certificate authorities (CAs) for your cluster. A cluster has at most two certificate authorities: the outgoing CA that's currently signing and, during a rotation, one successor CA.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
5071 5072 5073 5074 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 5071 def (params = {}, = {}) req = build_request(:list_certificate_authorities, 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.
5153 5154 5155 5156 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 5153 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.
5223 5224 5225 5226 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 5223 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.
5282 5283 5284 5285 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 5282 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.
5340 5341 5342 5343 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 5340 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 default filter lists all categories and every status.
The following lists the available categories:
UPGRADE_READINESS: Amazon EKS identifies issues that could impact your ability to upgrade to new versions of Kubernetes. These are called upgrade insights.MISCONFIGURATION: Amazon EKS identifies misconfiguration in your EKS Hybrid Nodes setup that could impair functionality of your cluster or workloads. These are called configuration insights.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
5423 5424 5425 5426 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 5423 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.
5482 5483 5484 5485 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 5482 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.
5556 5557 5558 5559 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 5556 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.
5602 5603 5604 5605 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 5602 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.
5673 5674 5675 5676 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 5673 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.
5828 5829 5830 5831 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 5828 def register_cluster(params = {}, = {}) req = build_request(:register_cluster, params) req.send_request() end |
#start_insights_refresh(params = {}) ⇒ Types::StartInsightsRefreshResponse
Initiates an on-demand refresh operation for cluster insights, getting the latest analysis outside of the standard refresh schedule.
5859 5860 5861 5862 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 5859 def start_insights_refresh(params = {}, = {}) req = build_request(:start_insights_refresh, 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.
5897 5898 5899 5900 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 5897 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.
5923 5924 5925 5926 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 5923 def untag_resource(params = {}, = {}) req = build_request(:untag_resource, params) req.send_request() end |
#update_access_entry(params = {}) ⇒ Types::UpdateAccessEntryResponse
Updates an access entry.
6011 6012 6013 6014 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 6011 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.
6141 6142 6143 6144 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 6141 def update_addon(params = {}, = {}) req = build_request(:update_addon, params) req.send_request() end |
#update_capability(params = {}) ⇒ Types::UpdateCapabilityResponse
Updates the configuration of a managed capability in your Amazon EKS cluster. You can update the IAM role, configuration settings, and delete propagation policy for a capability.
When you update a capability, Amazon EKS applies the changes and may restart capability components as needed. The capability remains available during the update process, but some operations may be temporarily unavailable.
6256 6257 6258 6259 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 6256 def update_capability(params = {}, = {}) req = build_request(:update_capability, 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 operation to do the following actions:
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 Cluster API server endpoint 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 https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html 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.
You can also use this API operation to add, change, or remove the configuration in the cluster for EKS Hybrid Nodes. To remove the configuration, use the
remoteNetworkConfigkey with an object containing both subkeys with empty arrays for each. Here is an inline example:"remoteNetworkConfig": { "remoteNodeNetworks": [], "remotePodNetworks": [] }.
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.
6546 6547 6548 6549 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 6546 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.
6627 6628 6629 6630 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 6627 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.
6686 6687 6688 6689 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 6686 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. You
can update the Kubernetes labels and taints for a node group and the
scaling and version update configuration.
6830 6831 6832 6833 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 6830 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. Additionally, the launch template ID or name must match what was used when the node group was created. You can update the launch template version with necessary changes.
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.
6979 6980 6981 6982 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 6979 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. In an update, you can change
the IAM role, the target IAM role, or disableSessionTags. You must
change at least one of these in an update. 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.
Similar to Amazon Web Services IAM behavior, EKS Pod Identity associations are eventually consistent, and may take several seconds to be effective after the initial API call returns successfully. You must design your applications to account for these potential delays. We recommend that you don’t include association create/updates in the critical, high-availability code paths of your application. Instead, make changes in a separate initialization or setup routine that you run less frequently.
You can set a target IAM role in the same or a different account for advanced scenarios. With a target role, EKS Pod Identity automatically performs two role assumptions in sequence: first assuming the role in the association that is in this account, then using those credentials to assume the target IAM role. This process provides your Pod with temporary credentials that have the permissions defined in the target role, allowing secure access to resources in another Amazon Web Services account.
7128 7129 7130 7131 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 7128 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 |
| certificate_authority_update_complete | #describe_update | 30 | 40 |
| 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 |
7251 7252 7253 7254 7255 |
# File 'gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb', line 7251 def wait_until(waiter_name, params = {}, = {}) w = waiter(waiter_name, ) yield(w.waiter) if block_given? # deprecated w.wait(params) end |