aws_sdk_iotanalytics/operation/create_dataset/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_dataset::_create_dataset_output::CreateDatasetOutputBuilder;
3
4pub use crate::operation::create_dataset::_create_dataset_input::CreateDatasetInputBuilder;
5
6impl crate::operation::create_dataset::builders::CreateDatasetInputBuilder {
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_dataset::CreateDatasetOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_dataset::CreateDatasetError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_dataset();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateDataset`.
24///
25/// <p>Used to create a dataset. A dataset stores data retrieved from a data store by applying a <code>queryAction</code> (a SQL query) or a <code>containerAction</code> (executing a containerized application). This operation creates the skeleton of a dataset. The dataset can be populated manually by calling <code>CreateDatasetContent</code> or automatically according to a trigger you specify.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct CreateDatasetFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::create_dataset::builders::CreateDatasetInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::create_dataset::CreateDatasetOutput,
35        crate::operation::create_dataset::CreateDatasetError,
36    > for CreateDatasetFluentBuilder
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_dataset::CreateDatasetOutput,
44            crate::operation::create_dataset::CreateDatasetError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl CreateDatasetFluentBuilder {
51    /// Creates a new `CreateDatasetFluentBuilder`.
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 CreateDataset as a reference.
60    pub fn as_input(&self) -> &crate::operation::create_dataset::builders::CreateDatasetInputBuilder {
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_dataset::CreateDatasetOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::create_dataset::CreateDatasetError,
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_dataset::CreateDataset::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::create_dataset::CreateDataset::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_dataset::CreateDatasetOutput,
97        crate::operation::create_dataset::CreateDatasetError,
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 name of the dataset.</p>
112    pub fn dataset_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113        self.inner = self.inner.dataset_name(input.into());
114        self
115    }
116    /// <p>The name of the dataset.</p>
117    pub fn set_dataset_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118        self.inner = self.inner.set_dataset_name(input);
119        self
120    }
121    /// <p>The name of the dataset.</p>
122    pub fn get_dataset_name(&self) -> &::std::option::Option<::std::string::String> {
123        self.inner.get_dataset_name()
124    }
125    ///
126    /// Appends an item to `actions`.
127    ///
128    /// To override the contents of this collection use [`set_actions`](Self::set_actions).
129    ///
130    /// <p>A list of actions that create the dataset contents.</p>
131    pub fn actions(mut self, input: crate::types::DatasetAction) -> Self {
132        self.inner = self.inner.actions(input);
133        self
134    }
135    /// <p>A list of actions that create the dataset contents.</p>
136    pub fn set_actions(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::DatasetAction>>) -> Self {
137        self.inner = self.inner.set_actions(input);
138        self
139    }
140    /// <p>A list of actions that create the dataset contents.</p>
141    pub fn get_actions(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::DatasetAction>> {
142        self.inner.get_actions()
143    }
144    ///
145    /// Appends an item to `triggers`.
146    ///
147    /// To override the contents of this collection use [`set_triggers`](Self::set_triggers).
148    ///
149    /// <p>A list of triggers. A trigger causes dataset contents to be populated at a specified time interval or when another dataset's contents are created. The list of triggers can be empty or contain up to five <code>DataSetTrigger</code> objects.</p>
150    pub fn triggers(mut self, input: crate::types::DatasetTrigger) -> Self {
151        self.inner = self.inner.triggers(input);
152        self
153    }
154    /// <p>A list of triggers. A trigger causes dataset contents to be populated at a specified time interval or when another dataset's contents are created. The list of triggers can be empty or contain up to five <code>DataSetTrigger</code> objects.</p>
155    pub fn set_triggers(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::DatasetTrigger>>) -> Self {
156        self.inner = self.inner.set_triggers(input);
157        self
158    }
159    /// <p>A list of triggers. A trigger causes dataset contents to be populated at a specified time interval or when another dataset's contents are created. The list of triggers can be empty or contain up to five <code>DataSetTrigger</code> objects.</p>
160    pub fn get_triggers(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::DatasetTrigger>> {
161        self.inner.get_triggers()
162    }
163    ///
164    /// Appends an item to `contentDeliveryRules`.
165    ///
166    /// To override the contents of this collection use [`set_content_delivery_rules`](Self::set_content_delivery_rules).
167    ///
168    /// <p>When dataset contents are created, they are delivered to destinations specified here.</p>
169    pub fn content_delivery_rules(mut self, input: crate::types::DatasetContentDeliveryRule) -> Self {
170        self.inner = self.inner.content_delivery_rules(input);
171        self
172    }
173    /// <p>When dataset contents are created, they are delivered to destinations specified here.</p>
174    pub fn set_content_delivery_rules(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::DatasetContentDeliveryRule>>) -> Self {
175        self.inner = self.inner.set_content_delivery_rules(input);
176        self
177    }
178    /// <p>When dataset contents are created, they are delivered to destinations specified here.</p>
179    pub fn get_content_delivery_rules(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::DatasetContentDeliveryRule>> {
180        self.inner.get_content_delivery_rules()
181    }
182    /// <p>Optional. How long, in days, versions of dataset contents are kept for the dataset. If not specified or set to <code>null</code>, versions of dataset contents are retained for at most 90 days. The number of versions of dataset contents retained is determined by the <code>versioningConfiguration</code> parameter. For more information, see <a href="https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions"> Keeping Multiple Versions of IoT Analytics datasets</a> in the <i>IoT Analytics User Guide</i>.</p>
183    pub fn retention_period(mut self, input: crate::types::RetentionPeriod) -> Self {
184        self.inner = self.inner.retention_period(input);
185        self
186    }
187    /// <p>Optional. How long, in days, versions of dataset contents are kept for the dataset. If not specified or set to <code>null</code>, versions of dataset contents are retained for at most 90 days. The number of versions of dataset contents retained is determined by the <code>versioningConfiguration</code> parameter. For more information, see <a href="https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions"> Keeping Multiple Versions of IoT Analytics datasets</a> in the <i>IoT Analytics User Guide</i>.</p>
188    pub fn set_retention_period(mut self, input: ::std::option::Option<crate::types::RetentionPeriod>) -> Self {
189        self.inner = self.inner.set_retention_period(input);
190        self
191    }
192    /// <p>Optional. How long, in days, versions of dataset contents are kept for the dataset. If not specified or set to <code>null</code>, versions of dataset contents are retained for at most 90 days. The number of versions of dataset contents retained is determined by the <code>versioningConfiguration</code> parameter. For more information, see <a href="https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions"> Keeping Multiple Versions of IoT Analytics datasets</a> in the <i>IoT Analytics User Guide</i>.</p>
193    pub fn get_retention_period(&self) -> &::std::option::Option<crate::types::RetentionPeriod> {
194        self.inner.get_retention_period()
195    }
196    /// <p>Optional. How many versions of dataset contents are kept. If not specified or set to null, only the latest version plus the latest succeeded version (if they are different) are kept for the time period specified by the <code>retentionPeriod</code> parameter. For more information, see <a href="https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions">Keeping Multiple Versions of IoT Analytics datasets</a> in the <i>IoT Analytics User Guide</i>.</p>
197    pub fn versioning_configuration(mut self, input: crate::types::VersioningConfiguration) -> Self {
198        self.inner = self.inner.versioning_configuration(input);
199        self
200    }
201    /// <p>Optional. How many versions of dataset contents are kept. If not specified or set to null, only the latest version plus the latest succeeded version (if they are different) are kept for the time period specified by the <code>retentionPeriod</code> parameter. For more information, see <a href="https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions">Keeping Multiple Versions of IoT Analytics datasets</a> in the <i>IoT Analytics User Guide</i>.</p>
202    pub fn set_versioning_configuration(mut self, input: ::std::option::Option<crate::types::VersioningConfiguration>) -> Self {
203        self.inner = self.inner.set_versioning_configuration(input);
204        self
205    }
206    /// <p>Optional. How many versions of dataset contents are kept. If not specified or set to null, only the latest version plus the latest succeeded version (if they are different) are kept for the time period specified by the <code>retentionPeriod</code> parameter. For more information, see <a href="https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions">Keeping Multiple Versions of IoT Analytics datasets</a> in the <i>IoT Analytics User Guide</i>.</p>
207    pub fn get_versioning_configuration(&self) -> &::std::option::Option<crate::types::VersioningConfiguration> {
208        self.inner.get_versioning_configuration()
209    }
210    ///
211    /// Appends an item to `tags`.
212    ///
213    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
214    ///
215    /// <p>Metadata which can be used to manage the dataset.</p>
216    pub fn tags(mut self, input: crate::types::Tag) -> Self {
217        self.inner = self.inner.tags(input);
218        self
219    }
220    /// <p>Metadata which can be used to manage the dataset.</p>
221    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
222        self.inner = self.inner.set_tags(input);
223        self
224    }
225    /// <p>Metadata which can be used to manage the dataset.</p>
226    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
227        self.inner.get_tags()
228    }
229    ///
230    /// Appends an item to `lateDataRules`.
231    ///
232    /// To override the contents of this collection use [`set_late_data_rules`](Self::set_late_data_rules).
233    ///
234    /// <p>A list of data rules that send notifications to CloudWatch, when data arrives late. To specify <code>lateDataRules</code>, the dataset must use a <a href="https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_DeltaTime.html">DeltaTimer</a> filter.</p>
235    pub fn late_data_rules(mut self, input: crate::types::LateDataRule) -> Self {
236        self.inner = self.inner.late_data_rules(input);
237        self
238    }
239    /// <p>A list of data rules that send notifications to CloudWatch, when data arrives late. To specify <code>lateDataRules</code>, the dataset must use a <a href="https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_DeltaTime.html">DeltaTimer</a> filter.</p>
240    pub fn set_late_data_rules(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::LateDataRule>>) -> Self {
241        self.inner = self.inner.set_late_data_rules(input);
242        self
243    }
244    /// <p>A list of data rules that send notifications to CloudWatch, when data arrives late. To specify <code>lateDataRules</code>, the dataset must use a <a href="https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_DeltaTime.html">DeltaTimer</a> filter.</p>
245    pub fn get_late_data_rules(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::LateDataRule>> {
246        self.inner.get_late_data_rules()
247    }
248}