aws_sdk_eks/operation/update_capability/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::update_capability::_update_capability_output::UpdateCapabilityOutputBuilder;
3
4pub use crate::operation::update_capability::_update_capability_input::UpdateCapabilityInputBuilder;
5
6impl crate::operation::update_capability::builders::UpdateCapabilityInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::update_capability::UpdateCapabilityOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::update_capability::UpdateCapabilityError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.update_capability();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `UpdateCapability`.
24///
25/// <p>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.</p>
26/// <p>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.</p>
27#[derive(::std::clone::Clone, ::std::fmt::Debug)]
28pub struct UpdateCapabilityFluentBuilder {
29    handle: ::std::sync::Arc<crate::client::Handle>,
30    inner: crate::operation::update_capability::builders::UpdateCapabilityInputBuilder,
31    config_override: ::std::option::Option<crate::config::Builder>,
32}
33impl
34    crate::client::customize::internal::CustomizableSend<
35        crate::operation::update_capability::UpdateCapabilityOutput,
36        crate::operation::update_capability::UpdateCapabilityError,
37    > for UpdateCapabilityFluentBuilder
38{
39    fn send(
40        self,
41        config_override: crate::config::Builder,
42    ) -> crate::client::customize::internal::BoxFuture<
43        crate::client::customize::internal::SendResult<
44            crate::operation::update_capability::UpdateCapabilityOutput,
45            crate::operation::update_capability::UpdateCapabilityError,
46        >,
47    > {
48        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
49    }
50}
51impl UpdateCapabilityFluentBuilder {
52    /// Creates a new `UpdateCapabilityFluentBuilder`.
53    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
54        Self {
55            handle,
56            inner: ::std::default::Default::default(),
57            config_override: ::std::option::Option::None,
58        }
59    }
60    /// Access the UpdateCapability as a reference.
61    pub fn as_input(&self) -> &crate::operation::update_capability::builders::UpdateCapabilityInputBuilder {
62        &self.inner
63    }
64    /// Sends the request and returns the response.
65    ///
66    /// If an error occurs, an `SdkError` will be returned with additional details that
67    /// can be matched against.
68    ///
69    /// By default, any retryable failures will be retried twice. Retry behavior
70    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
71    /// set when configuring the client.
72    pub async fn send(
73        self,
74    ) -> ::std::result::Result<
75        crate::operation::update_capability::UpdateCapabilityOutput,
76        ::aws_smithy_runtime_api::client::result::SdkError<
77            crate::operation::update_capability::UpdateCapabilityError,
78            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
79        >,
80    > {
81        let input = self
82            .inner
83            .build()
84            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
85        let runtime_plugins = crate::operation::update_capability::UpdateCapability::operation_runtime_plugins(
86            self.handle.runtime_plugins.clone(),
87            &self.handle.conf,
88            self.config_override,
89        );
90        crate::operation::update_capability::UpdateCapability::orchestrate(&runtime_plugins, input).await
91    }
92
93    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
94    pub fn customize(
95        self,
96    ) -> crate::client::customize::CustomizableOperation<
97        crate::operation::update_capability::UpdateCapabilityOutput,
98        crate::operation::update_capability::UpdateCapabilityError,
99        Self,
100    > {
101        crate::client::customize::CustomizableOperation::new(self)
102    }
103    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
104        self.set_config_override(::std::option::Option::Some(config_override.into()));
105        self
106    }
107
108    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
109        self.config_override = config_override;
110        self
111    }
112    /// <p>The name of the Amazon EKS cluster that contains the capability you want to update configuration for.</p>
113    pub fn cluster_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
114        self.inner = self.inner.cluster_name(input.into());
115        self
116    }
117    /// <p>The name of the Amazon EKS cluster that contains the capability you want to update configuration for.</p>
118    pub fn set_cluster_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
119        self.inner = self.inner.set_cluster_name(input);
120        self
121    }
122    /// <p>The name of the Amazon EKS cluster that contains the capability you want to update configuration for.</p>
123    pub fn get_cluster_name(&self) -> &::std::option::Option<::std::string::String> {
124        self.inner.get_cluster_name()
125    }
126    /// <p>The name of the capability to update configuration for.</p>
127    pub fn capability_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
128        self.inner = self.inner.capability_name(input.into());
129        self
130    }
131    /// <p>The name of the capability to update configuration for.</p>
132    pub fn set_capability_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
133        self.inner = self.inner.set_capability_name(input);
134        self
135    }
136    /// <p>The name of the capability to update configuration for.</p>
137    pub fn get_capability_name(&self) -> &::std::option::Option<::std::string::String> {
138        self.inner.get_capability_name()
139    }
140    /// <p>The Amazon Resource Name (ARN) of the IAM role that the capability uses to interact with Amazon Web Services services. If you specify a new role ARN, the capability will start using the new role for all subsequent operations.</p>
141    pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
142        self.inner = self.inner.role_arn(input.into());
143        self
144    }
145    /// <p>The Amazon Resource Name (ARN) of the IAM role that the capability uses to interact with Amazon Web Services services. If you specify a new role ARN, the capability will start using the new role for all subsequent operations.</p>
146    pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
147        self.inner = self.inner.set_role_arn(input);
148        self
149    }
150    /// <p>The Amazon Resource Name (ARN) of the IAM role that the capability uses to interact with Amazon Web Services services. If you specify a new role ARN, the capability will start using the new role for all subsequent operations.</p>
151    pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> {
152        self.inner.get_role_arn()
153    }
154    /// <p>The updated configuration settings for the capability. You only need to specify the configuration parameters you want to change. For Argo CD capabilities, you can update RBAC role mappings and network access settings.</p>
155    pub fn configuration(mut self, input: crate::types::UpdateCapabilityConfiguration) -> Self {
156        self.inner = self.inner.configuration(input);
157        self
158    }
159    /// <p>The updated configuration settings for the capability. You only need to specify the configuration parameters you want to change. For Argo CD capabilities, you can update RBAC role mappings and network access settings.</p>
160    pub fn set_configuration(mut self, input: ::std::option::Option<crate::types::UpdateCapabilityConfiguration>) -> Self {
161        self.inner = self.inner.set_configuration(input);
162        self
163    }
164    /// <p>The updated configuration settings for the capability. You only need to specify the configuration parameters you want to change. For Argo CD capabilities, you can update RBAC role mappings and network access settings.</p>
165    pub fn get_configuration(&self) -> &::std::option::Option<crate::types::UpdateCapabilityConfiguration> {
166        self.inner.get_configuration()
167    }
168    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This token is valid for 24 hours after creation.</p>
169    pub fn client_request_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
170        self.inner = self.inner.client_request_token(input.into());
171        self
172    }
173    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This token is valid for 24 hours after creation.</p>
174    pub fn set_client_request_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
175        self.inner = self.inner.set_client_request_token(input);
176        self
177    }
178    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This token is valid for 24 hours after creation.</p>
179    pub fn get_client_request_token(&self) -> &::std::option::Option<::std::string::String> {
180        self.inner.get_client_request_token()
181    }
182    /// <p>The updated delete propagation policy for the capability. Currently, the only supported value is <code>RETAIN</code>.</p>
183    pub fn delete_propagation_policy(mut self, input: crate::types::CapabilityDeletePropagationPolicy) -> Self {
184        self.inner = self.inner.delete_propagation_policy(input);
185        self
186    }
187    /// <p>The updated delete propagation policy for the capability. Currently, the only supported value is <code>RETAIN</code>.</p>
188    pub fn set_delete_propagation_policy(mut self, input: ::std::option::Option<crate::types::CapabilityDeletePropagationPolicy>) -> Self {
189        self.inner = self.inner.set_delete_propagation_policy(input);
190        self
191    }
192    /// <p>The updated delete propagation policy for the capability. Currently, the only supported value is <code>RETAIN</code>.</p>
193    pub fn get_delete_propagation_policy(&self) -> &::std::option::Option<crate::types::CapabilityDeletePropagationPolicy> {
194        self.inner.get_delete_propagation_policy()
195    }
196}