aws_sdk_guardduty/operation/create_ip_set/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_ip_set::_create_ip_set_output::CreateIpSetOutputBuilder;
3
4pub use crate::operation::create_ip_set::_create_ip_set_input::CreateIpSetInputBuilder;
5
6impl crate::operation::create_ip_set::builders::CreateIpSetInputBuilder {
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::create_ip_set::CreateIpSetOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_ip_set::CreateIPSetError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_ip_set();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateIPSet`.
24///
25/// <p>Creates a new IPSet, which is called a trusted IP list in the console user interface. An IPSet is a list of IP addresses that are trusted for secure communication with Amazon Web Services infrastructure and applications. GuardDuty doesn't generate findings for IP addresses that are included in IPSets. Only users from the administrator account can use this operation.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct CreateIPSetFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::create_ip_set::builders::CreateIpSetInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::create_ip_set::CreateIpSetOutput,
35        crate::operation::create_ip_set::CreateIPSetError,
36    > for CreateIPSetFluentBuilder
37{
38    fn send(
39        self,
40        config_override: crate::config::Builder,
41    ) -> crate::client::customize::internal::BoxFuture<
42        crate::client::customize::internal::SendResult<
43            crate::operation::create_ip_set::CreateIpSetOutput,
44            crate::operation::create_ip_set::CreateIPSetError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl CreateIPSetFluentBuilder {
51    /// Creates a new `CreateIPSetFluentBuilder`.
52    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
53        Self {
54            handle,
55            inner: ::std::default::Default::default(),
56            config_override: ::std::option::Option::None,
57        }
58    }
59    /// Access the CreateIPSet as a reference.
60    pub fn as_input(&self) -> &crate::operation::create_ip_set::builders::CreateIpSetInputBuilder {
61        &self.inner
62    }
63    /// Sends the request and returns the response.
64    ///
65    /// If an error occurs, an `SdkError` will be returned with additional details that
66    /// can be matched against.
67    ///
68    /// By default, any retryable failures will be retried twice. Retry behavior
69    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
70    /// set when configuring the client.
71    pub async fn send(
72        self,
73    ) -> ::std::result::Result<
74        crate::operation::create_ip_set::CreateIpSetOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::create_ip_set::CreateIPSetError,
77            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
78        >,
79    > {
80        let input = self
81            .inner
82            .build()
83            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
84        let runtime_plugins = crate::operation::create_ip_set::CreateIPSet::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::create_ip_set::CreateIPSet::orchestrate(&runtime_plugins, input).await
90    }
91
92    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
93    pub fn customize(
94        self,
95    ) -> crate::client::customize::CustomizableOperation<
96        crate::operation::create_ip_set::CreateIpSetOutput,
97        crate::operation::create_ip_set::CreateIPSetError,
98        Self,
99    > {
100        crate::client::customize::CustomizableOperation::new(self)
101    }
102    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
103        self.set_config_override(::std::option::Option::Some(config_override.into()));
104        self
105    }
106
107    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
108        self.config_override = config_override;
109        self
110    }
111    /// <p>The unique ID of the detector of the GuardDuty account for which you want to create an IPSet.</p>
112    /// <p>To find the <code>detectorId</code> in the current Region, see the Settings page in the GuardDuty console, or run the <a href="https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html">ListDetectors</a> API.</p>
113    pub fn detector_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
114        self.inner = self.inner.detector_id(input.into());
115        self
116    }
117    /// <p>The unique ID of the detector of the GuardDuty account for which you want to create an IPSet.</p>
118    /// <p>To find the <code>detectorId</code> in the current Region, see the Settings page in the GuardDuty console, or run the <a href="https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html">ListDetectors</a> API.</p>
119    pub fn set_detector_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
120        self.inner = self.inner.set_detector_id(input);
121        self
122    }
123    /// <p>The unique ID of the detector of the GuardDuty account for which you want to create an IPSet.</p>
124    /// <p>To find the <code>detectorId</code> in the current Region, see the Settings page in the GuardDuty console, or run the <a href="https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html">ListDetectors</a> API.</p>
125    pub fn get_detector_id(&self) -> &::std::option::Option<::std::string::String> {
126        self.inner.get_detector_id()
127    }
128    /// <p>The user-friendly name to identify the IPSet.</p>
129    /// <p>Allowed characters are alphanumeric, whitespace, dash (-), and underscores (_).</p>
130    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
131        self.inner = self.inner.name(input.into());
132        self
133    }
134    /// <p>The user-friendly name to identify the IPSet.</p>
135    /// <p>Allowed characters are alphanumeric, whitespace, dash (-), and underscores (_).</p>
136    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
137        self.inner = self.inner.set_name(input);
138        self
139    }
140    /// <p>The user-friendly name to identify the IPSet.</p>
141    /// <p>Allowed characters are alphanumeric, whitespace, dash (-), and underscores (_).</p>
142    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
143        self.inner.get_name()
144    }
145    /// <p>The format of the file that contains the IPSet.</p>
146    pub fn format(mut self, input: crate::types::IpSetFormat) -> Self {
147        self.inner = self.inner.format(input);
148        self
149    }
150    /// <p>The format of the file that contains the IPSet.</p>
151    pub fn set_format(mut self, input: ::std::option::Option<crate::types::IpSetFormat>) -> Self {
152        self.inner = self.inner.set_format(input);
153        self
154    }
155    /// <p>The format of the file that contains the IPSet.</p>
156    pub fn get_format(&self) -> &::std::option::Option<crate::types::IpSetFormat> {
157        self.inner.get_format()
158    }
159    /// <p>The URI of the file that contains the IPSet.</p>
160    pub fn location(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
161        self.inner = self.inner.location(input.into());
162        self
163    }
164    /// <p>The URI of the file that contains the IPSet.</p>
165    pub fn set_location(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
166        self.inner = self.inner.set_location(input);
167        self
168    }
169    /// <p>The URI of the file that contains the IPSet.</p>
170    pub fn get_location(&self) -> &::std::option::Option<::std::string::String> {
171        self.inner.get_location()
172    }
173    /// <p>A Boolean value that indicates whether GuardDuty is to start using the uploaded IPSet.</p>
174    pub fn activate(mut self, input: bool) -> Self {
175        self.inner = self.inner.activate(input);
176        self
177    }
178    /// <p>A Boolean value that indicates whether GuardDuty is to start using the uploaded IPSet.</p>
179    pub fn set_activate(mut self, input: ::std::option::Option<bool>) -> Self {
180        self.inner = self.inner.set_activate(input);
181        self
182    }
183    /// <p>A Boolean value that indicates whether GuardDuty is to start using the uploaded IPSet.</p>
184    pub fn get_activate(&self) -> &::std::option::Option<bool> {
185        self.inner.get_activate()
186    }
187    /// <p>The idempotency token for the create request.</p>
188    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
189        self.inner = self.inner.client_token(input.into());
190        self
191    }
192    /// <p>The idempotency token for the create request.</p>
193    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
194        self.inner = self.inner.set_client_token(input);
195        self
196    }
197    /// <p>The idempotency token for the create request.</p>
198    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
199        self.inner.get_client_token()
200    }
201    ///
202    /// Adds a key-value pair to `Tags`.
203    ///
204    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
205    ///
206    /// <p>The tags to be added to a new IP set resource.</p>
207    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
208        self.inner = self.inner.tags(k.into(), v.into());
209        self
210    }
211    /// <p>The tags to be added to a new IP set resource.</p>
212    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
213        self.inner = self.inner.set_tags(input);
214        self
215    }
216    /// <p>The tags to be added to a new IP set resource.</p>
217    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
218        self.inner.get_tags()
219    }
220    /// <p>The Amazon Web Services account ID that owns the Amazon S3 bucket specified in the <b>location</b> parameter.</p>
221    pub fn expected_bucket_owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
222        self.inner = self.inner.expected_bucket_owner(input.into());
223        self
224    }
225    /// <p>The Amazon Web Services account ID that owns the Amazon S3 bucket specified in the <b>location</b> parameter.</p>
226    pub fn set_expected_bucket_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
227        self.inner = self.inner.set_expected_bucket_owner(input);
228        self
229    }
230    /// <p>The Amazon Web Services account ID that owns the Amazon S3 bucket specified in the <b>location</b> parameter.</p>
231    pub fn get_expected_bucket_owner(&self) -> &::std::option::Option<::std::string::String> {
232        self.inner.get_expected_bucket_owner()
233    }
234}