aws_sdk_forecast/operation/create_dataset/_create_dataset_input.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateDatasetInput {
6 /// <p>A name for the dataset.</p>
7 pub dataset_name: ::std::option::Option<::std::string::String>,
8 /// <p>The domain associated with the dataset. When you add a dataset to a dataset group, this value and the value specified for the <code>Domain</code> parameter of the <a href="https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetGroup.html">CreateDatasetGroup</a> operation must match.</p>
9 /// <p>The <code>Domain</code> and <code>DatasetType</code> that you choose determine the fields that must be present in the training data that you import to the dataset. For example, if you choose the <code>RETAIL</code> domain and <code>TARGET_TIME_SERIES</code> as the <code>DatasetType</code>, Amazon Forecast requires <code>item_id</code>, <code>timestamp</code>, and <code>demand</code> fields to be present in your data. For more information, see <a href="https://docs.aws.amazon.com/forecast/latest/dg/howitworks-datasets-groups.html">Importing datasets</a>.</p>
10 pub domain: ::std::option::Option<crate::types::Domain>,
11 /// <p>The dataset type. Valid values depend on the chosen <code>Domain</code>.</p>
12 pub dataset_type: ::std::option::Option<crate::types::DatasetType>,
13 /// <p>The frequency of data collection. This parameter is required for RELATED_TIME_SERIES datasets.</p>
14 /// <p>Valid intervals are an integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min (Minute). For example, "1D" indicates every day and "15min" indicates every 15 minutes. You cannot specify a value that would overlap with the next larger frequency. That means, for example, you cannot specify a frequency of 60 minutes, because that is equivalent to 1 hour. The valid values for each frequency are the following:</p>
15 /// <ul>
16 /// <li>
17 /// <p>Minute - 1-59</p></li>
18 /// <li>
19 /// <p>Hour - 1-23</p></li>
20 /// <li>
21 /// <p>Day - 1-6</p></li>
22 /// <li>
23 /// <p>Week - 1-4</p></li>
24 /// <li>
25 /// <p>Month - 1-11</p></li>
26 /// <li>
27 /// <p>Year - 1</p></li>
28 /// </ul>
29 /// <p>Thus, if you want every other week forecasts, specify "2W". Or, if you want quarterly forecasts, you specify "3M".</p>
30 pub data_frequency: ::std::option::Option<::std::string::String>,
31 /// <p>The schema for the dataset. The schema attributes and their order must match the fields in your data. The dataset <code>Domain</code> and <code>DatasetType</code> that you choose determine the minimum required fields in your training data. For information about the required fields for a specific dataset domain and type, see <a href="https://docs.aws.amazon.com/forecast/latest/dg/howitworks-domains-ds-types.html">Dataset Domains and Dataset Types</a>.</p>
32 pub schema: ::std::option::Option<crate::types::Schema>,
33 /// <p>An Key Management Service (KMS) key and the Identity and Access Management (IAM) role that Amazon Forecast can assume to access the key.</p>
34 pub encryption_config: ::std::option::Option<crate::types::EncryptionConfig>,
35 /// <p>The optional metadata that you apply to the dataset to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.</p>
36 /// <p>The following basic restrictions apply to tags:</p>
37 /// <ul>
38 /// <li>
39 /// <p>Maximum number of tags per resource - 50.</p></li>
40 /// <li>
41 /// <p>For each resource, each tag key must be unique, and each tag key can have only one value.</p></li>
42 /// <li>
43 /// <p>Maximum key length - 128 Unicode characters in UTF-8.</p></li>
44 /// <li>
45 /// <p>Maximum value length - 256 Unicode characters in UTF-8.</p></li>
46 /// <li>
47 /// <p>If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.</p></li>
48 /// <li>
49 /// <p>Tag keys and values are case sensitive.</p></li>
50 /// <li>
51 /// <p>Do not use <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase combination of such as a prefix for keys as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has <code>aws</code> as its prefix but the key does not, then Forecast considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of <code>aws</code> do not count against your tags per resource limit.</p></li>
52 /// </ul>
53 pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
54}
55impl CreateDatasetInput {
56 /// <p>A name for the dataset.</p>
57 pub fn dataset_name(&self) -> ::std::option::Option<&str> {
58 self.dataset_name.as_deref()
59 }
60 /// <p>The domain associated with the dataset. When you add a dataset to a dataset group, this value and the value specified for the <code>Domain</code> parameter of the <a href="https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetGroup.html">CreateDatasetGroup</a> operation must match.</p>
61 /// <p>The <code>Domain</code> and <code>DatasetType</code> that you choose determine the fields that must be present in the training data that you import to the dataset. For example, if you choose the <code>RETAIL</code> domain and <code>TARGET_TIME_SERIES</code> as the <code>DatasetType</code>, Amazon Forecast requires <code>item_id</code>, <code>timestamp</code>, and <code>demand</code> fields to be present in your data. For more information, see <a href="https://docs.aws.amazon.com/forecast/latest/dg/howitworks-datasets-groups.html">Importing datasets</a>.</p>
62 pub fn domain(&self) -> ::std::option::Option<&crate::types::Domain> {
63 self.domain.as_ref()
64 }
65 /// <p>The dataset type. Valid values depend on the chosen <code>Domain</code>.</p>
66 pub fn dataset_type(&self) -> ::std::option::Option<&crate::types::DatasetType> {
67 self.dataset_type.as_ref()
68 }
69 /// <p>The frequency of data collection. This parameter is required for RELATED_TIME_SERIES datasets.</p>
70 /// <p>Valid intervals are an integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min (Minute). For example, "1D" indicates every day and "15min" indicates every 15 minutes. You cannot specify a value that would overlap with the next larger frequency. That means, for example, you cannot specify a frequency of 60 minutes, because that is equivalent to 1 hour. The valid values for each frequency are the following:</p>
71 /// <ul>
72 /// <li>
73 /// <p>Minute - 1-59</p></li>
74 /// <li>
75 /// <p>Hour - 1-23</p></li>
76 /// <li>
77 /// <p>Day - 1-6</p></li>
78 /// <li>
79 /// <p>Week - 1-4</p></li>
80 /// <li>
81 /// <p>Month - 1-11</p></li>
82 /// <li>
83 /// <p>Year - 1</p></li>
84 /// </ul>
85 /// <p>Thus, if you want every other week forecasts, specify "2W". Or, if you want quarterly forecasts, you specify "3M".</p>
86 pub fn data_frequency(&self) -> ::std::option::Option<&str> {
87 self.data_frequency.as_deref()
88 }
89 /// <p>The schema for the dataset. The schema attributes and their order must match the fields in your data. The dataset <code>Domain</code> and <code>DatasetType</code> that you choose determine the minimum required fields in your training data. For information about the required fields for a specific dataset domain and type, see <a href="https://docs.aws.amazon.com/forecast/latest/dg/howitworks-domains-ds-types.html">Dataset Domains and Dataset Types</a>.</p>
90 pub fn schema(&self) -> ::std::option::Option<&crate::types::Schema> {
91 self.schema.as_ref()
92 }
93 /// <p>An Key Management Service (KMS) key and the Identity and Access Management (IAM) role that Amazon Forecast can assume to access the key.</p>
94 pub fn encryption_config(&self) -> ::std::option::Option<&crate::types::EncryptionConfig> {
95 self.encryption_config.as_ref()
96 }
97 /// <p>The optional metadata that you apply to the dataset to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.</p>
98 /// <p>The following basic restrictions apply to tags:</p>
99 /// <ul>
100 /// <li>
101 /// <p>Maximum number of tags per resource - 50.</p></li>
102 /// <li>
103 /// <p>For each resource, each tag key must be unique, and each tag key can have only one value.</p></li>
104 /// <li>
105 /// <p>Maximum key length - 128 Unicode characters in UTF-8.</p></li>
106 /// <li>
107 /// <p>Maximum value length - 256 Unicode characters in UTF-8.</p></li>
108 /// <li>
109 /// <p>If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.</p></li>
110 /// <li>
111 /// <p>Tag keys and values are case sensitive.</p></li>
112 /// <li>
113 /// <p>Do not use <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase combination of such as a prefix for keys as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has <code>aws</code> as its prefix but the key does not, then Forecast considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of <code>aws</code> do not count against your tags per resource limit.</p></li>
114 /// </ul>
115 ///
116 /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.tags.is_none()`.
117 pub fn tags(&self) -> &[crate::types::Tag] {
118 self.tags.as_deref().unwrap_or_default()
119 }
120}
121impl CreateDatasetInput {
122 /// Creates a new builder-style object to manufacture [`CreateDatasetInput`](crate::operation::create_dataset::CreateDatasetInput).
123 pub fn builder() -> crate::operation::create_dataset::builders::CreateDatasetInputBuilder {
124 crate::operation::create_dataset::builders::CreateDatasetInputBuilder::default()
125 }
126}
127
128/// A builder for [`CreateDatasetInput`](crate::operation::create_dataset::CreateDatasetInput).
129#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
130#[non_exhaustive]
131pub struct CreateDatasetInputBuilder {
132 pub(crate) dataset_name: ::std::option::Option<::std::string::String>,
133 pub(crate) domain: ::std::option::Option<crate::types::Domain>,
134 pub(crate) dataset_type: ::std::option::Option<crate::types::DatasetType>,
135 pub(crate) data_frequency: ::std::option::Option<::std::string::String>,
136 pub(crate) schema: ::std::option::Option<crate::types::Schema>,
137 pub(crate) encryption_config: ::std::option::Option<crate::types::EncryptionConfig>,
138 pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
139}
140impl CreateDatasetInputBuilder {
141 /// <p>A name for the dataset.</p>
142 /// This field is required.
143 pub fn dataset_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
144 self.dataset_name = ::std::option::Option::Some(input.into());
145 self
146 }
147 /// <p>A name for the dataset.</p>
148 pub fn set_dataset_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
149 self.dataset_name = input;
150 self
151 }
152 /// <p>A name for the dataset.</p>
153 pub fn get_dataset_name(&self) -> &::std::option::Option<::std::string::String> {
154 &self.dataset_name
155 }
156 /// <p>The domain associated with the dataset. When you add a dataset to a dataset group, this value and the value specified for the <code>Domain</code> parameter of the <a href="https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetGroup.html">CreateDatasetGroup</a> operation must match.</p>
157 /// <p>The <code>Domain</code> and <code>DatasetType</code> that you choose determine the fields that must be present in the training data that you import to the dataset. For example, if you choose the <code>RETAIL</code> domain and <code>TARGET_TIME_SERIES</code> as the <code>DatasetType</code>, Amazon Forecast requires <code>item_id</code>, <code>timestamp</code>, and <code>demand</code> fields to be present in your data. For more information, see <a href="https://docs.aws.amazon.com/forecast/latest/dg/howitworks-datasets-groups.html">Importing datasets</a>.</p>
158 /// This field is required.
159 pub fn domain(mut self, input: crate::types::Domain) -> Self {
160 self.domain = ::std::option::Option::Some(input);
161 self
162 }
163 /// <p>The domain associated with the dataset. When you add a dataset to a dataset group, this value and the value specified for the <code>Domain</code> parameter of the <a href="https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetGroup.html">CreateDatasetGroup</a> operation must match.</p>
164 /// <p>The <code>Domain</code> and <code>DatasetType</code> that you choose determine the fields that must be present in the training data that you import to the dataset. For example, if you choose the <code>RETAIL</code> domain and <code>TARGET_TIME_SERIES</code> as the <code>DatasetType</code>, Amazon Forecast requires <code>item_id</code>, <code>timestamp</code>, and <code>demand</code> fields to be present in your data. For more information, see <a href="https://docs.aws.amazon.com/forecast/latest/dg/howitworks-datasets-groups.html">Importing datasets</a>.</p>
165 pub fn set_domain(mut self, input: ::std::option::Option<crate::types::Domain>) -> Self {
166 self.domain = input;
167 self
168 }
169 /// <p>The domain associated with the dataset. When you add a dataset to a dataset group, this value and the value specified for the <code>Domain</code> parameter of the <a href="https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetGroup.html">CreateDatasetGroup</a> operation must match.</p>
170 /// <p>The <code>Domain</code> and <code>DatasetType</code> that you choose determine the fields that must be present in the training data that you import to the dataset. For example, if you choose the <code>RETAIL</code> domain and <code>TARGET_TIME_SERIES</code> as the <code>DatasetType</code>, Amazon Forecast requires <code>item_id</code>, <code>timestamp</code>, and <code>demand</code> fields to be present in your data. For more information, see <a href="https://docs.aws.amazon.com/forecast/latest/dg/howitworks-datasets-groups.html">Importing datasets</a>.</p>
171 pub fn get_domain(&self) -> &::std::option::Option<crate::types::Domain> {
172 &self.domain
173 }
174 /// <p>The dataset type. Valid values depend on the chosen <code>Domain</code>.</p>
175 /// This field is required.
176 pub fn dataset_type(mut self, input: crate::types::DatasetType) -> Self {
177 self.dataset_type = ::std::option::Option::Some(input);
178 self
179 }
180 /// <p>The dataset type. Valid values depend on the chosen <code>Domain</code>.</p>
181 pub fn set_dataset_type(mut self, input: ::std::option::Option<crate::types::DatasetType>) -> Self {
182 self.dataset_type = input;
183 self
184 }
185 /// <p>The dataset type. Valid values depend on the chosen <code>Domain</code>.</p>
186 pub fn get_dataset_type(&self) -> &::std::option::Option<crate::types::DatasetType> {
187 &self.dataset_type
188 }
189 /// <p>The frequency of data collection. This parameter is required for RELATED_TIME_SERIES datasets.</p>
190 /// <p>Valid intervals are an integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min (Minute). For example, "1D" indicates every day and "15min" indicates every 15 minutes. You cannot specify a value that would overlap with the next larger frequency. That means, for example, you cannot specify a frequency of 60 minutes, because that is equivalent to 1 hour. The valid values for each frequency are the following:</p>
191 /// <ul>
192 /// <li>
193 /// <p>Minute - 1-59</p></li>
194 /// <li>
195 /// <p>Hour - 1-23</p></li>
196 /// <li>
197 /// <p>Day - 1-6</p></li>
198 /// <li>
199 /// <p>Week - 1-4</p></li>
200 /// <li>
201 /// <p>Month - 1-11</p></li>
202 /// <li>
203 /// <p>Year - 1</p></li>
204 /// </ul>
205 /// <p>Thus, if you want every other week forecasts, specify "2W". Or, if you want quarterly forecasts, you specify "3M".</p>
206 pub fn data_frequency(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
207 self.data_frequency = ::std::option::Option::Some(input.into());
208 self
209 }
210 /// <p>The frequency of data collection. This parameter is required for RELATED_TIME_SERIES datasets.</p>
211 /// <p>Valid intervals are an integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min (Minute). For example, "1D" indicates every day and "15min" indicates every 15 minutes. You cannot specify a value that would overlap with the next larger frequency. That means, for example, you cannot specify a frequency of 60 minutes, because that is equivalent to 1 hour. The valid values for each frequency are the following:</p>
212 /// <ul>
213 /// <li>
214 /// <p>Minute - 1-59</p></li>
215 /// <li>
216 /// <p>Hour - 1-23</p></li>
217 /// <li>
218 /// <p>Day - 1-6</p></li>
219 /// <li>
220 /// <p>Week - 1-4</p></li>
221 /// <li>
222 /// <p>Month - 1-11</p></li>
223 /// <li>
224 /// <p>Year - 1</p></li>
225 /// </ul>
226 /// <p>Thus, if you want every other week forecasts, specify "2W". Or, if you want quarterly forecasts, you specify "3M".</p>
227 pub fn set_data_frequency(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
228 self.data_frequency = input;
229 self
230 }
231 /// <p>The frequency of data collection. This parameter is required for RELATED_TIME_SERIES datasets.</p>
232 /// <p>Valid intervals are an integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min (Minute). For example, "1D" indicates every day and "15min" indicates every 15 minutes. You cannot specify a value that would overlap with the next larger frequency. That means, for example, you cannot specify a frequency of 60 minutes, because that is equivalent to 1 hour. The valid values for each frequency are the following:</p>
233 /// <ul>
234 /// <li>
235 /// <p>Minute - 1-59</p></li>
236 /// <li>
237 /// <p>Hour - 1-23</p></li>
238 /// <li>
239 /// <p>Day - 1-6</p></li>
240 /// <li>
241 /// <p>Week - 1-4</p></li>
242 /// <li>
243 /// <p>Month - 1-11</p></li>
244 /// <li>
245 /// <p>Year - 1</p></li>
246 /// </ul>
247 /// <p>Thus, if you want every other week forecasts, specify "2W". Or, if you want quarterly forecasts, you specify "3M".</p>
248 pub fn get_data_frequency(&self) -> &::std::option::Option<::std::string::String> {
249 &self.data_frequency
250 }
251 /// <p>The schema for the dataset. The schema attributes and their order must match the fields in your data. The dataset <code>Domain</code> and <code>DatasetType</code> that you choose determine the minimum required fields in your training data. For information about the required fields for a specific dataset domain and type, see <a href="https://docs.aws.amazon.com/forecast/latest/dg/howitworks-domains-ds-types.html">Dataset Domains and Dataset Types</a>.</p>
252 /// This field is required.
253 pub fn schema(mut self, input: crate::types::Schema) -> Self {
254 self.schema = ::std::option::Option::Some(input);
255 self
256 }
257 /// <p>The schema for the dataset. The schema attributes and their order must match the fields in your data. The dataset <code>Domain</code> and <code>DatasetType</code> that you choose determine the minimum required fields in your training data. For information about the required fields for a specific dataset domain and type, see <a href="https://docs.aws.amazon.com/forecast/latest/dg/howitworks-domains-ds-types.html">Dataset Domains and Dataset Types</a>.</p>
258 pub fn set_schema(mut self, input: ::std::option::Option<crate::types::Schema>) -> Self {
259 self.schema = input;
260 self
261 }
262 /// <p>The schema for the dataset. The schema attributes and their order must match the fields in your data. The dataset <code>Domain</code> and <code>DatasetType</code> that you choose determine the minimum required fields in your training data. For information about the required fields for a specific dataset domain and type, see <a href="https://docs.aws.amazon.com/forecast/latest/dg/howitworks-domains-ds-types.html">Dataset Domains and Dataset Types</a>.</p>
263 pub fn get_schema(&self) -> &::std::option::Option<crate::types::Schema> {
264 &self.schema
265 }
266 /// <p>An Key Management Service (KMS) key and the Identity and Access Management (IAM) role that Amazon Forecast can assume to access the key.</p>
267 pub fn encryption_config(mut self, input: crate::types::EncryptionConfig) -> Self {
268 self.encryption_config = ::std::option::Option::Some(input);
269 self
270 }
271 /// <p>An Key Management Service (KMS) key and the Identity and Access Management (IAM) role that Amazon Forecast can assume to access the key.</p>
272 pub fn set_encryption_config(mut self, input: ::std::option::Option<crate::types::EncryptionConfig>) -> Self {
273 self.encryption_config = input;
274 self
275 }
276 /// <p>An Key Management Service (KMS) key and the Identity and Access Management (IAM) role that Amazon Forecast can assume to access the key.</p>
277 pub fn get_encryption_config(&self) -> &::std::option::Option<crate::types::EncryptionConfig> {
278 &self.encryption_config
279 }
280 /// Appends an item to `tags`.
281 ///
282 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
283 ///
284 /// <p>The optional metadata that you apply to the dataset to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.</p>
285 /// <p>The following basic restrictions apply to tags:</p>
286 /// <ul>
287 /// <li>
288 /// <p>Maximum number of tags per resource - 50.</p></li>
289 /// <li>
290 /// <p>For each resource, each tag key must be unique, and each tag key can have only one value.</p></li>
291 /// <li>
292 /// <p>Maximum key length - 128 Unicode characters in UTF-8.</p></li>
293 /// <li>
294 /// <p>Maximum value length - 256 Unicode characters in UTF-8.</p></li>
295 /// <li>
296 /// <p>If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.</p></li>
297 /// <li>
298 /// <p>Tag keys and values are case sensitive.</p></li>
299 /// <li>
300 /// <p>Do not use <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase combination of such as a prefix for keys as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has <code>aws</code> as its prefix but the key does not, then Forecast considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of <code>aws</code> do not count against your tags per resource limit.</p></li>
301 /// </ul>
302 pub fn tags(mut self, input: crate::types::Tag) -> Self {
303 let mut v = self.tags.unwrap_or_default();
304 v.push(input);
305 self.tags = ::std::option::Option::Some(v);
306 self
307 }
308 /// <p>The optional metadata that you apply to the dataset to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.</p>
309 /// <p>The following basic restrictions apply to tags:</p>
310 /// <ul>
311 /// <li>
312 /// <p>Maximum number of tags per resource - 50.</p></li>
313 /// <li>
314 /// <p>For each resource, each tag key must be unique, and each tag key can have only one value.</p></li>
315 /// <li>
316 /// <p>Maximum key length - 128 Unicode characters in UTF-8.</p></li>
317 /// <li>
318 /// <p>Maximum value length - 256 Unicode characters in UTF-8.</p></li>
319 /// <li>
320 /// <p>If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.</p></li>
321 /// <li>
322 /// <p>Tag keys and values are case sensitive.</p></li>
323 /// <li>
324 /// <p>Do not use <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase combination of such as a prefix for keys as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has <code>aws</code> as its prefix but the key does not, then Forecast considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of <code>aws</code> do not count against your tags per resource limit.</p></li>
325 /// </ul>
326 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
327 self.tags = input;
328 self
329 }
330 /// <p>The optional metadata that you apply to the dataset to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.</p>
331 /// <p>The following basic restrictions apply to tags:</p>
332 /// <ul>
333 /// <li>
334 /// <p>Maximum number of tags per resource - 50.</p></li>
335 /// <li>
336 /// <p>For each resource, each tag key must be unique, and each tag key can have only one value.</p></li>
337 /// <li>
338 /// <p>Maximum key length - 128 Unicode characters in UTF-8.</p></li>
339 /// <li>
340 /// <p>Maximum value length - 256 Unicode characters in UTF-8.</p></li>
341 /// <li>
342 /// <p>If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.</p></li>
343 /// <li>
344 /// <p>Tag keys and values are case sensitive.</p></li>
345 /// <li>
346 /// <p>Do not use <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase combination of such as a prefix for keys as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has <code>aws</code> as its prefix but the key does not, then Forecast considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of <code>aws</code> do not count against your tags per resource limit.</p></li>
347 /// </ul>
348 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
349 &self.tags
350 }
351 /// Consumes the builder and constructs a [`CreateDatasetInput`](crate::operation::create_dataset::CreateDatasetInput).
352 pub fn build(
353 self,
354 ) -> ::std::result::Result<crate::operation::create_dataset::CreateDatasetInput, ::aws_smithy_types::error::operation::BuildError> {
355 ::std::result::Result::Ok(crate::operation::create_dataset::CreateDatasetInput {
356 dataset_name: self.dataset_name,
357 domain: self.domain,
358 dataset_type: self.dataset_type,
359 data_frequency: self.data_frequency,
360 schema: self.schema,
361 encryption_config: self.encryption_config,
362 tags: self.tags,
363 })
364 }
365}