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}