aws_sdk_quicksight/operation/create_data_set/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_data_set::_create_data_set_output::CreateDataSetOutputBuilder;
3
4pub use crate::operation::create_data_set::_create_data_set_input::CreateDataSetInputBuilder;
5
6impl crate::operation::create_data_set::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_data_set::CreateDataSetOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_data_set::CreateDataSetError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_data_set();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateDataSet`.
24///
25/// <p>Creates a dataset. This operation doesn't support datasets that include uploaded files as a source.</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_data_set::builders::CreateDataSetInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::create_data_set::CreateDataSetOutput,
35        crate::operation::create_data_set::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_data_set::CreateDataSetOutput,
44            crate::operation::create_data_set::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_data_set::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_data_set::CreateDataSetOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::create_data_set::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_data_set::CreateDataSet::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::create_data_set::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_data_set::CreateDataSetOutput,
97        crate::operation::create_data_set::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 Amazon Web Services account ID.</p>
112    pub fn aws_account_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113        self.inner = self.inner.aws_account_id(input.into());
114        self
115    }
116    /// <p>The Amazon Web Services account ID.</p>
117    pub fn set_aws_account_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118        self.inner = self.inner.set_aws_account_id(input);
119        self
120    }
121    /// <p>The Amazon Web Services account ID.</p>
122    pub fn get_aws_account_id(&self) -> &::std::option::Option<::std::string::String> {
123        self.inner.get_aws_account_id()
124    }
125    /// <p>An ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.</p>
126    pub fn data_set_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
127        self.inner = self.inner.data_set_id(input.into());
128        self
129    }
130    /// <p>An ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.</p>
131    pub fn set_data_set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
132        self.inner = self.inner.set_data_set_id(input);
133        self
134    }
135    /// <p>An ID for the dataset that you want to create. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.</p>
136    pub fn get_data_set_id(&self) -> &::std::option::Option<::std::string::String> {
137        self.inner.get_data_set_id()
138    }
139    /// <p>The display name for the dataset.</p>
140    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
141        self.inner = self.inner.name(input.into());
142        self
143    }
144    /// <p>The display name for the dataset.</p>
145    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
146        self.inner = self.inner.set_name(input);
147        self
148    }
149    /// <p>The display name for the dataset.</p>
150    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
151        self.inner.get_name()
152    }
153    ///
154    /// Adds a key-value pair to `PhysicalTableMap`.
155    ///
156    /// To override the contents of this collection use [`set_physical_table_map`](Self::set_physical_table_map).
157    ///
158    /// <p>Declares the physical tables that are available in the underlying data sources.</p>
159    pub fn physical_table_map(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::PhysicalTable) -> Self {
160        self.inner = self.inner.physical_table_map(k.into(), v);
161        self
162    }
163    /// <p>Declares the physical tables that are available in the underlying data sources.</p>
164    pub fn set_physical_table_map(
165        mut self,
166        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::PhysicalTable>>,
167    ) -> Self {
168        self.inner = self.inner.set_physical_table_map(input);
169        self
170    }
171    /// <p>Declares the physical tables that are available in the underlying data sources.</p>
172    pub fn get_physical_table_map(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::PhysicalTable>> {
173        self.inner.get_physical_table_map()
174    }
175    ///
176    /// Adds a key-value pair to `LogicalTableMap`.
177    ///
178    /// To override the contents of this collection use [`set_logical_table_map`](Self::set_logical_table_map).
179    ///
180    /// <p>Configures the combination and transformation of the data from the physical tables. This parameter is used with the legacy data preparation experience.</p>
181    #[deprecated(note = "Only used in the legacy data preparation experience.", since = "2025-10-23")]
182    pub fn logical_table_map(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::LogicalTable) -> Self {
183        self.inner = self.inner.logical_table_map(k.into(), v);
184        self
185    }
186    /// <p>Configures the combination and transformation of the data from the physical tables. This parameter is used with the legacy data preparation experience.</p>
187    #[deprecated(note = "Only used in the legacy data preparation experience.", since = "2025-10-23")]
188    pub fn set_logical_table_map(
189        mut self,
190        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::LogicalTable>>,
191    ) -> Self {
192        self.inner = self.inner.set_logical_table_map(input);
193        self
194    }
195    /// <p>Configures the combination and transformation of the data from the physical tables. This parameter is used with the legacy data preparation experience.</p>
196    #[deprecated(note = "Only used in the legacy data preparation experience.", since = "2025-10-23")]
197    pub fn get_logical_table_map(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::LogicalTable>> {
198        self.inner.get_logical_table_map()
199    }
200    /// <p>Indicates whether you want to import the data into SPICE.</p>
201    pub fn import_mode(mut self, input: crate::types::DataSetImportMode) -> Self {
202        self.inner = self.inner.import_mode(input);
203        self
204    }
205    /// <p>Indicates whether you want to import the data into SPICE.</p>
206    pub fn set_import_mode(mut self, input: ::std::option::Option<crate::types::DataSetImportMode>) -> Self {
207        self.inner = self.inner.set_import_mode(input);
208        self
209    }
210    /// <p>Indicates whether you want to import the data into SPICE.</p>
211    pub fn get_import_mode(&self) -> &::std::option::Option<crate::types::DataSetImportMode> {
212        self.inner.get_import_mode()
213    }
214    ///
215    /// Appends an item to `ColumnGroups`.
216    ///
217    /// To override the contents of this collection use [`set_column_groups`](Self::set_column_groups).
218    ///
219    /// <p>Groupings of columns that work together in certain Amazon Quick Sight features. Currently, only geospatial hierarchy is supported.</p>
220    pub fn column_groups(mut self, input: crate::types::ColumnGroup) -> Self {
221        self.inner = self.inner.column_groups(input);
222        self
223    }
224    /// <p>Groupings of columns that work together in certain Amazon Quick Sight features. Currently, only geospatial hierarchy is supported.</p>
225    pub fn set_column_groups(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ColumnGroup>>) -> Self {
226        self.inner = self.inner.set_column_groups(input);
227        self
228    }
229    /// <p>Groupings of columns that work together in certain Amazon Quick Sight features. Currently, only geospatial hierarchy is supported.</p>
230    pub fn get_column_groups(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ColumnGroup>> {
231        self.inner.get_column_groups()
232    }
233    ///
234    /// Adds a key-value pair to `FieldFolders`.
235    ///
236    /// To override the contents of this collection use [`set_field_folders`](Self::set_field_folders).
237    ///
238    /// <p>The folder that contains fields and nested subfolders for your dataset.</p>
239    pub fn field_folders(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::FieldFolder) -> Self {
240        self.inner = self.inner.field_folders(k.into(), v);
241        self
242    }
243    /// <p>The folder that contains fields and nested subfolders for your dataset.</p>
244    pub fn set_field_folders(
245        mut self,
246        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::FieldFolder>>,
247    ) -> Self {
248        self.inner = self.inner.set_field_folders(input);
249        self
250    }
251    /// <p>The folder that contains fields and nested subfolders for your dataset.</p>
252    pub fn get_field_folders(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::FieldFolder>> {
253        self.inner.get_field_folders()
254    }
255    ///
256    /// Appends an item to `Permissions`.
257    ///
258    /// To override the contents of this collection use [`set_permissions`](Self::set_permissions).
259    ///
260    /// <p>A list of resource permissions on the dataset.</p>
261    pub fn permissions(mut self, input: crate::types::ResourcePermission) -> Self {
262        self.inner = self.inner.permissions(input);
263        self
264    }
265    /// <p>A list of resource permissions on the dataset.</p>
266    pub fn set_permissions(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ResourcePermission>>) -> Self {
267        self.inner = self.inner.set_permissions(input);
268        self
269    }
270    /// <p>A list of resource permissions on the dataset.</p>
271    pub fn get_permissions(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ResourcePermission>> {
272        self.inner.get_permissions()
273    }
274    /// <p>The row-level security configuration for the data that you want to create. This parameter is used with the legacy data preparation experience.</p>
275    #[deprecated(note = "Only used in the legacy data preparation experience.", since = "2025-10-23")]
276    pub fn row_level_permission_data_set(mut self, input: crate::types::RowLevelPermissionDataSet) -> Self {
277        self.inner = self.inner.row_level_permission_data_set(input);
278        self
279    }
280    /// <p>The row-level security configuration for the data that you want to create. This parameter is used with the legacy data preparation experience.</p>
281    #[deprecated(note = "Only used in the legacy data preparation experience.", since = "2025-10-23")]
282    pub fn set_row_level_permission_data_set(mut self, input: ::std::option::Option<crate::types::RowLevelPermissionDataSet>) -> Self {
283        self.inner = self.inner.set_row_level_permission_data_set(input);
284        self
285    }
286    /// <p>The row-level security configuration for the data that you want to create. This parameter is used with the legacy data preparation experience.</p>
287    #[deprecated(note = "Only used in the legacy data preparation experience.", since = "2025-10-23")]
288    pub fn get_row_level_permission_data_set(&self) -> &::std::option::Option<crate::types::RowLevelPermissionDataSet> {
289        self.inner.get_row_level_permission_data_set()
290    }
291    /// <p>The configuration of tags on a dataset to set row-level security. Row-level security tags are currently supported for anonymous embedding only. This parameter is used with the legacy data preparation experience.</p>
292    #[deprecated(note = "Only used in the legacy data preparation experience.", since = "2025-10-23")]
293    pub fn row_level_permission_tag_configuration(mut self, input: crate::types::RowLevelPermissionTagConfiguration) -> Self {
294        self.inner = self.inner.row_level_permission_tag_configuration(input);
295        self
296    }
297    /// <p>The configuration of tags on a dataset to set row-level security. Row-level security tags are currently supported for anonymous embedding only. This parameter is used with the legacy data preparation experience.</p>
298    #[deprecated(note = "Only used in the legacy data preparation experience.", since = "2025-10-23")]
299    pub fn set_row_level_permission_tag_configuration(
300        mut self,
301        input: ::std::option::Option<crate::types::RowLevelPermissionTagConfiguration>,
302    ) -> Self {
303        self.inner = self.inner.set_row_level_permission_tag_configuration(input);
304        self
305    }
306    /// <p>The configuration of tags on a dataset to set row-level security. Row-level security tags are currently supported for anonymous embedding only. This parameter is used with the legacy data preparation experience.</p>
307    #[deprecated(note = "Only used in the legacy data preparation experience.", since = "2025-10-23")]
308    pub fn get_row_level_permission_tag_configuration(&self) -> &::std::option::Option<crate::types::RowLevelPermissionTagConfiguration> {
309        self.inner.get_row_level_permission_tag_configuration()
310    }
311    ///
312    /// Appends an item to `ColumnLevelPermissionRules`.
313    ///
314    /// To override the contents of this collection use [`set_column_level_permission_rules`](Self::set_column_level_permission_rules).
315    ///
316    /// <p>A set of one or more definitions of a <code> <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html">ColumnLevelPermissionRule</a> </code>.</p>
317    pub fn column_level_permission_rules(mut self, input: crate::types::ColumnLevelPermissionRule) -> Self {
318        self.inner = self.inner.column_level_permission_rules(input);
319        self
320    }
321    /// <p>A set of one or more definitions of a <code> <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html">ColumnLevelPermissionRule</a> </code>.</p>
322    pub fn set_column_level_permission_rules(
323        mut self,
324        input: ::std::option::Option<::std::vec::Vec<crate::types::ColumnLevelPermissionRule>>,
325    ) -> Self {
326        self.inner = self.inner.set_column_level_permission_rules(input);
327        self
328    }
329    /// <p>A set of one or more definitions of a <code> <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html">ColumnLevelPermissionRule</a> </code>.</p>
330    pub fn get_column_level_permission_rules(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ColumnLevelPermissionRule>> {
331        self.inner.get_column_level_permission_rules()
332    }
333    ///
334    /// Appends an item to `Tags`.
335    ///
336    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
337    ///
338    /// <p>Contains a map of the key-value pairs for the resource tag or tags assigned to the dataset.</p>
339    pub fn tags(mut self, input: crate::types::Tag) -> Self {
340        self.inner = self.inner.tags(input);
341        self
342    }
343    /// <p>Contains a map of the key-value pairs for the resource tag or tags assigned to the dataset.</p>
344    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
345        self.inner = self.inner.set_tags(input);
346        self
347    }
348    /// <p>Contains a map of the key-value pairs for the resource tag or tags assigned to the dataset.</p>
349    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
350        self.inner.get_tags()
351    }
352    /// <p>The usage configuration to apply to child datasets that reference this dataset as a source.</p>
353    pub fn data_set_usage_configuration(mut self, input: crate::types::DataSetUsageConfiguration) -> Self {
354        self.inner = self.inner.data_set_usage_configuration(input);
355        self
356    }
357    /// <p>The usage configuration to apply to child datasets that reference this dataset as a source.</p>
358    pub fn set_data_set_usage_configuration(mut self, input: ::std::option::Option<crate::types::DataSetUsageConfiguration>) -> Self {
359        self.inner = self.inner.set_data_set_usage_configuration(input);
360        self
361    }
362    /// <p>The usage configuration to apply to child datasets that reference this dataset as a source.</p>
363    pub fn get_data_set_usage_configuration(&self) -> &::std::option::Option<crate::types::DataSetUsageConfiguration> {
364        self.inner.get_data_set_usage_configuration()
365    }
366    ///
367    /// Appends an item to `DatasetParameters`.
368    ///
369    /// To override the contents of this collection use [`set_dataset_parameters`](Self::set_dataset_parameters).
370    ///
371    /// <p>The parameter declarations of the dataset.</p>
372    pub fn dataset_parameters(mut self, input: crate::types::DatasetParameter) -> Self {
373        self.inner = self.inner.dataset_parameters(input);
374        self
375    }
376    /// <p>The parameter declarations of the dataset.</p>
377    pub fn set_dataset_parameters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::DatasetParameter>>) -> Self {
378        self.inner = self.inner.set_dataset_parameters(input);
379        self
380    }
381    /// <p>The parameter declarations of the dataset.</p>
382    pub fn get_dataset_parameters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::DatasetParameter>> {
383        self.inner.get_dataset_parameters()
384    }
385    ///
386    /// Appends an item to `FolderArns`.
387    ///
388    /// To override the contents of this collection use [`set_folder_arns`](Self::set_folder_arns).
389    ///
390    /// <p>When you create the dataset, Amazon Quick Sight adds the dataset to these folders.</p>
391    pub fn folder_arns(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
392        self.inner = self.inner.folder_arns(input.into());
393        self
394    }
395    /// <p>When you create the dataset, Amazon Quick Sight adds the dataset to these folders.</p>
396    pub fn set_folder_arns(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
397        self.inner = self.inner.set_folder_arns(input);
398        self
399    }
400    /// <p>When you create the dataset, Amazon Quick Sight adds the dataset to these folders.</p>
401    pub fn get_folder_arns(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
402        self.inner.get_folder_arns()
403    }
404    /// <p>The configuration for the performance optimization of the dataset that contains a <code>UniqueKey</code> configuration.</p>
405    pub fn performance_configuration(mut self, input: crate::types::PerformanceConfiguration) -> Self {
406        self.inner = self.inner.performance_configuration(input);
407        self
408    }
409    /// <p>The configuration for the performance optimization of the dataset that contains a <code>UniqueKey</code> configuration.</p>
410    pub fn set_performance_configuration(mut self, input: ::std::option::Option<crate::types::PerformanceConfiguration>) -> Self {
411        self.inner = self.inner.set_performance_configuration(input);
412        self
413    }
414    /// <p>The configuration for the performance optimization of the dataset that contains a <code>UniqueKey</code> configuration.</p>
415    pub fn get_performance_configuration(&self) -> &::std::option::Option<crate::types::PerformanceConfiguration> {
416        self.inner.get_performance_configuration()
417    }
418    /// <p>The usage of the dataset. <code>RLS_RULES</code> must be specified for RLS permission datasets.</p>
419    pub fn use_as(mut self, input: crate::types::DataSetUseAs) -> Self {
420        self.inner = self.inner.use_as(input);
421        self
422    }
423    /// <p>The usage of the dataset. <code>RLS_RULES</code> must be specified for RLS permission datasets.</p>
424    pub fn set_use_as(mut self, input: ::std::option::Option<crate::types::DataSetUseAs>) -> Self {
425        self.inner = self.inner.set_use_as(input);
426        self
427    }
428    /// <p>The usage of the dataset. <code>RLS_RULES</code> must be specified for RLS permission datasets.</p>
429    pub fn get_use_as(&self) -> &::std::option::Option<crate::types::DataSetUseAs> {
430        self.inner.get_use_as()
431    }
432    /// <p>The data preparation configuration for the dataset. This configuration defines the source tables, transformation steps, and destination tables used to prepare the data. Required when using the new data preparation experience.</p>
433    pub fn data_prep_configuration(mut self, input: crate::types::DataPrepConfiguration) -> Self {
434        self.inner = self.inner.data_prep_configuration(input);
435        self
436    }
437    /// <p>The data preparation configuration for the dataset. This configuration defines the source tables, transformation steps, and destination tables used to prepare the data. Required when using the new data preparation experience.</p>
438    pub fn set_data_prep_configuration(mut self, input: ::std::option::Option<crate::types::DataPrepConfiguration>) -> Self {
439        self.inner = self.inner.set_data_prep_configuration(input);
440        self
441    }
442    /// <p>The data preparation configuration for the dataset. This configuration defines the source tables, transformation steps, and destination tables used to prepare the data. Required when using the new data preparation experience.</p>
443    pub fn get_data_prep_configuration(&self) -> &::std::option::Option<crate::types::DataPrepConfiguration> {
444        self.inner.get_data_prep_configuration()
445    }
446    /// <p>The semantic model configuration for the dataset. This configuration defines how the prepared data is structured for an analysis, including table mappings and row-level security configurations. Required when using the new data preparation experience.</p>
447    pub fn semantic_model_configuration(mut self, input: crate::types::SemanticModelConfiguration) -> Self {
448        self.inner = self.inner.semantic_model_configuration(input);
449        self
450    }
451    /// <p>The semantic model configuration for the dataset. This configuration defines how the prepared data is structured for an analysis, including table mappings and row-level security configurations. Required when using the new data preparation experience.</p>
452    pub fn set_semantic_model_configuration(mut self, input: ::std::option::Option<crate::types::SemanticModelConfiguration>) -> Self {
453        self.inner = self.inner.set_semantic_model_configuration(input);
454        self
455    }
456    /// <p>The semantic model configuration for the dataset. This configuration defines how the prepared data is structured for an analysis, including table mappings and row-level security configurations. Required when using the new data preparation experience.</p>
457    pub fn get_semantic_model_configuration(&self) -> &::std::option::Option<crate::types::SemanticModelConfiguration> {
458        self.inner.get_semantic_model_configuration()
459    }
460}