aws_sdk_eks/client/
update_addon.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3    /// Constructs a fluent builder for the [`UpdateAddon`](crate::operation::update_addon::builders::UpdateAddonFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`cluster_name(impl Into<String>)`](crate::operation::update_addon::builders::UpdateAddonFluentBuilder::cluster_name) / [`set_cluster_name(Option<String>)`](crate::operation::update_addon::builders::UpdateAddonFluentBuilder::set_cluster_name):<br>required: **true**<br><p>The name of your cluster.</p><br>
7    ///   - [`addon_name(impl Into<String>)`](crate::operation::update_addon::builders::UpdateAddonFluentBuilder::addon_name) / [`set_addon_name(Option<String>)`](crate::operation::update_addon::builders::UpdateAddonFluentBuilder::set_addon_name):<br>required: **true**<br><p>The name of the add-on. The name must match one of the names returned by <a href="https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html"> <code>ListAddons</code> </a>.</p><br>
8    ///   - [`addon_version(impl Into<String>)`](crate::operation::update_addon::builders::UpdateAddonFluentBuilder::addon_version) / [`set_addon_version(Option<String>)`](crate::operation::update_addon::builders::UpdateAddonFluentBuilder::set_addon_version):<br>required: **false**<br><p>The version of the add-on. The version must match one of the versions returned by <a href="https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html"> <code>DescribeAddonVersions</code> </a>.</p><br>
9    ///   - [`service_account_role_arn(impl Into<String>)`](crate::operation::update_addon::builders::UpdateAddonFluentBuilder::service_account_role_arn) / [`set_service_account_role_arn(Option<String>)`](crate::operation::update_addon::builders::UpdateAddonFluentBuilder::set_service_account_role_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account. The role must be assigned the IAM permissions required by the add-on. If you don't specify an existing IAM role, then the add-on uses the permissions assigned to the node IAM role. For more information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html">Amazon EKS node IAM role</a> in the <i>Amazon EKS User Guide</i>.</p><note>  <p>To specify an existing IAM role, you must have an IAM OpenID Connect (OIDC) provider created for your cluster. For more information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html">Enabling IAM roles for service accounts on your cluster</a> in the <i>Amazon EKS User Guide</i>.</p> </note><br>
10    ///   - [`resolve_conflicts(ResolveConflicts)`](crate::operation::update_addon::builders::UpdateAddonFluentBuilder::resolve_conflicts) / [`set_resolve_conflicts(Option<ResolveConflicts>)`](crate::operation::update_addon::builders::UpdateAddonFluentBuilder::set_resolve_conflicts):<br>required: **false**<br><p>How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Conflicts are handled based on the option you choose:</p> <ul>  <li>   <p><b>None</b> – Amazon EKS doesn't change the value. The update might fail.</p></li>  <li>   <p><b>Overwrite</b> – Amazon EKS overwrites the changed value back to the Amazon EKS default value.</p></li>  <li>   <p><b>Preserve</b> – Amazon EKS preserves the value. If you choose this option, we recommend that you test any field and value changes on a non-production cluster before updating the add-on on your production cluster.</p></li> </ul><br>
11    ///   - [`client_request_token(impl Into<String>)`](crate::operation::update_addon::builders::UpdateAddonFluentBuilder::client_request_token) / [`set_client_request_token(Option<String>)`](crate::operation::update_addon::builders::UpdateAddonFluentBuilder::set_client_request_token):<br>required: **false**<br><p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p><br>
12    ///   - [`configuration_values(impl Into<String>)`](crate::operation::update_addon::builders::UpdateAddonFluentBuilder::configuration_values) / [`set_configuration_values(Option<String>)`](crate::operation::update_addon::builders::UpdateAddonFluentBuilder::set_configuration_values):<br>required: **false**<br><p>The set of configuration values for the add-on that's created. The values that you provide are validated against the schema returned by <code>DescribeAddonConfiguration</code>.</p><br>
13    ///   - [`pod_identity_associations(AddonPodIdentityAssociations)`](crate::operation::update_addon::builders::UpdateAddonFluentBuilder::pod_identity_associations) / [`set_pod_identity_associations(Option<Vec::<AddonPodIdentityAssociations>>)`](crate::operation::update_addon::builders::UpdateAddonFluentBuilder::set_pod_identity_associations):<br>required: **false**<br><p>An array of EKS Pod Identity associations to be updated. Each association maps a Kubernetes service account to an IAM role. If this value is left blank, no change. If an empty array is provided, existing associations owned by the add-on are deleted.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/add-ons-iam.html">Attach an IAM Role to an Amazon EKS add-on using EKS Pod Identity</a> in the <i>Amazon EKS User Guide</i>.</p><br>
14    /// - On success, responds with [`UpdateAddonOutput`](crate::operation::update_addon::UpdateAddonOutput) with field(s):
15    ///   - [`update(Option<Update>)`](crate::operation::update_addon::UpdateAddonOutput::update): <p>An object representing an asynchronous update.</p>
16    /// - On failure, responds with [`SdkError<UpdateAddonError>`](crate::operation::update_addon::UpdateAddonError)
17    pub fn update_addon(&self) -> crate::operation::update_addon::builders::UpdateAddonFluentBuilder {
18        crate::operation::update_addon::builders::UpdateAddonFluentBuilder::new(self.handle.clone())
19    }
20}