aws_sdk_ec2/operation/modify_managed_prefix_list/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::modify_managed_prefix_list::_modify_managed_prefix_list_output::ModifyManagedPrefixListOutputBuilder;
3
4pub use crate::operation::modify_managed_prefix_list::_modify_managed_prefix_list_input::ModifyManagedPrefixListInputBuilder;
5
6impl crate::operation::modify_managed_prefix_list::builders::ModifyManagedPrefixListInputBuilder {
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::modify_managed_prefix_list::ModifyManagedPrefixListOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::modify_managed_prefix_list::ModifyManagedPrefixListError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.modify_managed_prefix_list();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `ModifyManagedPrefixList`.
24///
25/// <p>Modifies the specified managed prefix list.</p>
26/// <p>Adding or removing entries in a prefix list creates a new version of the prefix list. Changing the name of the prefix list does not affect the version.</p>
27/// <p>If you specify a current version number that does not match the true current version number, the request fails.</p>
28#[derive(::std::clone::Clone, ::std::fmt::Debug)]
29pub struct ModifyManagedPrefixListFluentBuilder {
30    handle: ::std::sync::Arc<crate::client::Handle>,
31    inner: crate::operation::modify_managed_prefix_list::builders::ModifyManagedPrefixListInputBuilder,
32    config_override: ::std::option::Option<crate::config::Builder>,
33}
34impl
35    crate::client::customize::internal::CustomizableSend<
36        crate::operation::modify_managed_prefix_list::ModifyManagedPrefixListOutput,
37        crate::operation::modify_managed_prefix_list::ModifyManagedPrefixListError,
38    > for ModifyManagedPrefixListFluentBuilder
39{
40    fn send(
41        self,
42        config_override: crate::config::Builder,
43    ) -> crate::client::customize::internal::BoxFuture<
44        crate::client::customize::internal::SendResult<
45            crate::operation::modify_managed_prefix_list::ModifyManagedPrefixListOutput,
46            crate::operation::modify_managed_prefix_list::ModifyManagedPrefixListError,
47        >,
48    > {
49        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
50    }
51}
52impl ModifyManagedPrefixListFluentBuilder {
53    /// Creates a new `ModifyManagedPrefixListFluentBuilder`.
54    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
55        Self {
56            handle,
57            inner: ::std::default::Default::default(),
58            config_override: ::std::option::Option::None,
59        }
60    }
61    /// Access the ModifyManagedPrefixList as a reference.
62    pub fn as_input(&self) -> &crate::operation::modify_managed_prefix_list::builders::ModifyManagedPrefixListInputBuilder {
63        &self.inner
64    }
65    /// Sends the request and returns the response.
66    ///
67    /// If an error occurs, an `SdkError` will be returned with additional details that
68    /// can be matched against.
69    ///
70    /// By default, any retryable failures will be retried twice. Retry behavior
71    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
72    /// set when configuring the client.
73    pub async fn send(
74        self,
75    ) -> ::std::result::Result<
76        crate::operation::modify_managed_prefix_list::ModifyManagedPrefixListOutput,
77        ::aws_smithy_runtime_api::client::result::SdkError<
78            crate::operation::modify_managed_prefix_list::ModifyManagedPrefixListError,
79            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
80        >,
81    > {
82        let input = self
83            .inner
84            .build()
85            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
86        let runtime_plugins = crate::operation::modify_managed_prefix_list::ModifyManagedPrefixList::operation_runtime_plugins(
87            self.handle.runtime_plugins.clone(),
88            &self.handle.conf,
89            self.config_override,
90        );
91        crate::operation::modify_managed_prefix_list::ModifyManagedPrefixList::orchestrate(&runtime_plugins, input).await
92    }
93
94    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
95    pub fn customize(
96        self,
97    ) -> crate::client::customize::CustomizableOperation<
98        crate::operation::modify_managed_prefix_list::ModifyManagedPrefixListOutput,
99        crate::operation::modify_managed_prefix_list::ModifyManagedPrefixListError,
100        Self,
101    > {
102        crate::client::customize::CustomizableOperation::new(self)
103    }
104    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
105        self.set_config_override(::std::option::Option::Some(config_override.into()));
106        self
107    }
108
109    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
110        self.config_override = config_override;
111        self
112    }
113    /// <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
114    pub fn dry_run(mut self, input: bool) -> Self {
115        self.inner = self.inner.dry_run(input);
116        self
117    }
118    /// <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
119    pub fn set_dry_run(mut self, input: ::std::option::Option<bool>) -> Self {
120        self.inner = self.inner.set_dry_run(input);
121        self
122    }
123    /// <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
124    pub fn get_dry_run(&self) -> &::std::option::Option<bool> {
125        self.inner.get_dry_run()
126    }
127    /// <p>The ID of the prefix list.</p>
128    pub fn prefix_list_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
129        self.inner = self.inner.prefix_list_id(input.into());
130        self
131    }
132    /// <p>The ID of the prefix list.</p>
133    pub fn set_prefix_list_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
134        self.inner = self.inner.set_prefix_list_id(input);
135        self
136    }
137    /// <p>The ID of the prefix list.</p>
138    pub fn get_prefix_list_id(&self) -> &::std::option::Option<::std::string::String> {
139        self.inner.get_prefix_list_id()
140    }
141    /// <p>The current version of the prefix list.</p>
142    pub fn current_version(mut self, input: i64) -> Self {
143        self.inner = self.inner.current_version(input);
144        self
145    }
146    /// <p>The current version of the prefix list.</p>
147    pub fn set_current_version(mut self, input: ::std::option::Option<i64>) -> Self {
148        self.inner = self.inner.set_current_version(input);
149        self
150    }
151    /// <p>The current version of the prefix list.</p>
152    pub fn get_current_version(&self) -> &::std::option::Option<i64> {
153        self.inner.get_current_version()
154    }
155    /// <p>A name for the prefix list.</p>
156    pub fn prefix_list_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
157        self.inner = self.inner.prefix_list_name(input.into());
158        self
159    }
160    /// <p>A name for the prefix list.</p>
161    pub fn set_prefix_list_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
162        self.inner = self.inner.set_prefix_list_name(input);
163        self
164    }
165    /// <p>A name for the prefix list.</p>
166    pub fn get_prefix_list_name(&self) -> &::std::option::Option<::std::string::String> {
167        self.inner.get_prefix_list_name()
168    }
169    ///
170    /// Appends an item to `AddEntries`.
171    ///
172    /// To override the contents of this collection use [`set_add_entries`](Self::set_add_entries).
173    ///
174    /// <p>One or more entries to add to the prefix list.</p>
175    pub fn add_entries(mut self, input: crate::types::AddPrefixListEntry) -> Self {
176        self.inner = self.inner.add_entries(input);
177        self
178    }
179    /// <p>One or more entries to add to the prefix list.</p>
180    pub fn set_add_entries(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AddPrefixListEntry>>) -> Self {
181        self.inner = self.inner.set_add_entries(input);
182        self
183    }
184    /// <p>One or more entries to add to the prefix list.</p>
185    pub fn get_add_entries(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AddPrefixListEntry>> {
186        self.inner.get_add_entries()
187    }
188    ///
189    /// Appends an item to `RemoveEntries`.
190    ///
191    /// To override the contents of this collection use [`set_remove_entries`](Self::set_remove_entries).
192    ///
193    /// <p>One or more entries to remove from the prefix list.</p>
194    pub fn remove_entries(mut self, input: crate::types::RemovePrefixListEntry) -> Self {
195        self.inner = self.inner.remove_entries(input);
196        self
197    }
198    /// <p>One or more entries to remove from the prefix list.</p>
199    pub fn set_remove_entries(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::RemovePrefixListEntry>>) -> Self {
200        self.inner = self.inner.set_remove_entries(input);
201        self
202    }
203    /// <p>One or more entries to remove from the prefix list.</p>
204    pub fn get_remove_entries(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::RemovePrefixListEntry>> {
205        self.inner.get_remove_entries()
206    }
207    /// <p>The maximum number of entries for the prefix list. You cannot modify the entries of a prefix list and modify the size of a prefix list at the same time.</p>
208    /// <p>If any of the resources that reference the prefix list cannot support the new maximum size, the modify operation fails. Check the state message for the IDs of the first ten resources that do not support the new maximum size.</p>
209    pub fn max_entries(mut self, input: i32) -> Self {
210        self.inner = self.inner.max_entries(input);
211        self
212    }
213    /// <p>The maximum number of entries for the prefix list. You cannot modify the entries of a prefix list and modify the size of a prefix list at the same time.</p>
214    /// <p>If any of the resources that reference the prefix list cannot support the new maximum size, the modify operation fails. Check the state message for the IDs of the first ten resources that do not support the new maximum size.</p>
215    pub fn set_max_entries(mut self, input: ::std::option::Option<i32>) -> Self {
216        self.inner = self.inner.set_max_entries(input);
217        self
218    }
219    /// <p>The maximum number of entries for the prefix list. You cannot modify the entries of a prefix list and modify the size of a prefix list at the same time.</p>
220    /// <p>If any of the resources that reference the prefix list cannot support the new maximum size, the modify operation fails. Check the state message for the IDs of the first ten resources that do not support the new maximum size.</p>
221    pub fn get_max_entries(&self) -> &::std::option::Option<i32> {
222        self.inner.get_max_entries()
223    }
224}