aws_sdk_finspacedata/operation/create_dataset/
_create_dataset_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// The request for a CreateDataset operation
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct CreateDatasetInput {
7    /// <p>A token that ensures idempotency. This token expires in 10 minutes.</p>
8    pub client_token: ::std::option::Option<::std::string::String>,
9    /// <p>Display title for a FinSpace Dataset.</p>
10    pub dataset_title: ::std::option::Option<::std::string::String>,
11    /// <p>The format in which Dataset data is structured.</p>
12    /// <ul>
13    /// <li>
14    /// <p><code>TABULAR</code> – Data is structured in a tabular format.</p></li>
15    /// <li>
16    /// <p><code>NON_TABULAR</code> – Data is structured in a non-tabular format.</p></li>
17    /// </ul>
18    pub kind: ::std::option::Option<crate::types::DatasetKind>,
19    /// <p>Description of a Dataset.</p>
20    pub dataset_description: ::std::option::Option<::std::string::String>,
21    /// <p>Contact information for a Dataset owner.</p>
22    pub owner_info: ::std::option::Option<crate::types::DatasetOwnerInfo>,
23    /// <p>Permission group parameters for Dataset permissions.</p>
24    pub permission_group_params: ::std::option::Option<crate::types::PermissionGroupParams>,
25    /// <p>The unique resource identifier for a Dataset.</p>
26    pub alias: ::std::option::Option<::std::string::String>,
27    /// <p>Definition for a schema on a tabular Dataset.</p>
28    pub schema_definition: ::std::option::Option<crate::types::SchemaUnion>,
29}
30impl CreateDatasetInput {
31    /// <p>A token that ensures idempotency. This token expires in 10 minutes.</p>
32    pub fn client_token(&self) -> ::std::option::Option<&str> {
33        self.client_token.as_deref()
34    }
35    /// <p>Display title for a FinSpace Dataset.</p>
36    pub fn dataset_title(&self) -> ::std::option::Option<&str> {
37        self.dataset_title.as_deref()
38    }
39    /// <p>The format in which Dataset data is structured.</p>
40    /// <ul>
41    /// <li>
42    /// <p><code>TABULAR</code> – Data is structured in a tabular format.</p></li>
43    /// <li>
44    /// <p><code>NON_TABULAR</code> – Data is structured in a non-tabular format.</p></li>
45    /// </ul>
46    pub fn kind(&self) -> ::std::option::Option<&crate::types::DatasetKind> {
47        self.kind.as_ref()
48    }
49    /// <p>Description of a Dataset.</p>
50    pub fn dataset_description(&self) -> ::std::option::Option<&str> {
51        self.dataset_description.as_deref()
52    }
53    /// <p>Contact information for a Dataset owner.</p>
54    pub fn owner_info(&self) -> ::std::option::Option<&crate::types::DatasetOwnerInfo> {
55        self.owner_info.as_ref()
56    }
57    /// <p>Permission group parameters for Dataset permissions.</p>
58    pub fn permission_group_params(&self) -> ::std::option::Option<&crate::types::PermissionGroupParams> {
59        self.permission_group_params.as_ref()
60    }
61    /// <p>The unique resource identifier for a Dataset.</p>
62    pub fn alias(&self) -> ::std::option::Option<&str> {
63        self.alias.as_deref()
64    }
65    /// <p>Definition for a schema on a tabular Dataset.</p>
66    pub fn schema_definition(&self) -> ::std::option::Option<&crate::types::SchemaUnion> {
67        self.schema_definition.as_ref()
68    }
69}
70impl CreateDatasetInput {
71    /// Creates a new builder-style object to manufacture [`CreateDatasetInput`](crate::operation::create_dataset::CreateDatasetInput).
72    pub fn builder() -> crate::operation::create_dataset::builders::CreateDatasetInputBuilder {
73        crate::operation::create_dataset::builders::CreateDatasetInputBuilder::default()
74    }
75}
76
77/// A builder for [`CreateDatasetInput`](crate::operation::create_dataset::CreateDatasetInput).
78#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
79#[non_exhaustive]
80pub struct CreateDatasetInputBuilder {
81    pub(crate) client_token: ::std::option::Option<::std::string::String>,
82    pub(crate) dataset_title: ::std::option::Option<::std::string::String>,
83    pub(crate) kind: ::std::option::Option<crate::types::DatasetKind>,
84    pub(crate) dataset_description: ::std::option::Option<::std::string::String>,
85    pub(crate) owner_info: ::std::option::Option<crate::types::DatasetOwnerInfo>,
86    pub(crate) permission_group_params: ::std::option::Option<crate::types::PermissionGroupParams>,
87    pub(crate) alias: ::std::option::Option<::std::string::String>,
88    pub(crate) schema_definition: ::std::option::Option<crate::types::SchemaUnion>,
89}
90impl CreateDatasetInputBuilder {
91    /// <p>A token that ensures idempotency. This token expires in 10 minutes.</p>
92    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
93        self.client_token = ::std::option::Option::Some(input.into());
94        self
95    }
96    /// <p>A token that ensures idempotency. This token expires in 10 minutes.</p>
97    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
98        self.client_token = input;
99        self
100    }
101    /// <p>A token that ensures idempotency. This token expires in 10 minutes.</p>
102    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
103        &self.client_token
104    }
105    /// <p>Display title for a FinSpace Dataset.</p>
106    /// This field is required.
107    pub fn dataset_title(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
108        self.dataset_title = ::std::option::Option::Some(input.into());
109        self
110    }
111    /// <p>Display title for a FinSpace Dataset.</p>
112    pub fn set_dataset_title(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
113        self.dataset_title = input;
114        self
115    }
116    /// <p>Display title for a FinSpace Dataset.</p>
117    pub fn get_dataset_title(&self) -> &::std::option::Option<::std::string::String> {
118        &self.dataset_title
119    }
120    /// <p>The format in which Dataset data is structured.</p>
121    /// <ul>
122    /// <li>
123    /// <p><code>TABULAR</code> – Data is structured in a tabular format.</p></li>
124    /// <li>
125    /// <p><code>NON_TABULAR</code> – Data is structured in a non-tabular format.</p></li>
126    /// </ul>
127    /// This field is required.
128    pub fn kind(mut self, input: crate::types::DatasetKind) -> Self {
129        self.kind = ::std::option::Option::Some(input);
130        self
131    }
132    /// <p>The format in which Dataset data is structured.</p>
133    /// <ul>
134    /// <li>
135    /// <p><code>TABULAR</code> – Data is structured in a tabular format.</p></li>
136    /// <li>
137    /// <p><code>NON_TABULAR</code> – Data is structured in a non-tabular format.</p></li>
138    /// </ul>
139    pub fn set_kind(mut self, input: ::std::option::Option<crate::types::DatasetKind>) -> Self {
140        self.kind = input;
141        self
142    }
143    /// <p>The format in which Dataset data is structured.</p>
144    /// <ul>
145    /// <li>
146    /// <p><code>TABULAR</code> – Data is structured in a tabular format.</p></li>
147    /// <li>
148    /// <p><code>NON_TABULAR</code> – Data is structured in a non-tabular format.</p></li>
149    /// </ul>
150    pub fn get_kind(&self) -> &::std::option::Option<crate::types::DatasetKind> {
151        &self.kind
152    }
153    /// <p>Description of a Dataset.</p>
154    pub fn dataset_description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
155        self.dataset_description = ::std::option::Option::Some(input.into());
156        self
157    }
158    /// <p>Description of a Dataset.</p>
159    pub fn set_dataset_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
160        self.dataset_description = input;
161        self
162    }
163    /// <p>Description of a Dataset.</p>
164    pub fn get_dataset_description(&self) -> &::std::option::Option<::std::string::String> {
165        &self.dataset_description
166    }
167    /// <p>Contact information for a Dataset owner.</p>
168    pub fn owner_info(mut self, input: crate::types::DatasetOwnerInfo) -> Self {
169        self.owner_info = ::std::option::Option::Some(input);
170        self
171    }
172    /// <p>Contact information for a Dataset owner.</p>
173    pub fn set_owner_info(mut self, input: ::std::option::Option<crate::types::DatasetOwnerInfo>) -> Self {
174        self.owner_info = input;
175        self
176    }
177    /// <p>Contact information for a Dataset owner.</p>
178    pub fn get_owner_info(&self) -> &::std::option::Option<crate::types::DatasetOwnerInfo> {
179        &self.owner_info
180    }
181    /// <p>Permission group parameters for Dataset permissions.</p>
182    /// This field is required.
183    pub fn permission_group_params(mut self, input: crate::types::PermissionGroupParams) -> Self {
184        self.permission_group_params = ::std::option::Option::Some(input);
185        self
186    }
187    /// <p>Permission group parameters for Dataset permissions.</p>
188    pub fn set_permission_group_params(mut self, input: ::std::option::Option<crate::types::PermissionGroupParams>) -> Self {
189        self.permission_group_params = input;
190        self
191    }
192    /// <p>Permission group parameters for Dataset permissions.</p>
193    pub fn get_permission_group_params(&self) -> &::std::option::Option<crate::types::PermissionGroupParams> {
194        &self.permission_group_params
195    }
196    /// <p>The unique resource identifier for a Dataset.</p>
197    pub fn alias(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
198        self.alias = ::std::option::Option::Some(input.into());
199        self
200    }
201    /// <p>The unique resource identifier for a Dataset.</p>
202    pub fn set_alias(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
203        self.alias = input;
204        self
205    }
206    /// <p>The unique resource identifier for a Dataset.</p>
207    pub fn get_alias(&self) -> &::std::option::Option<::std::string::String> {
208        &self.alias
209    }
210    /// <p>Definition for a schema on a tabular Dataset.</p>
211    pub fn schema_definition(mut self, input: crate::types::SchemaUnion) -> Self {
212        self.schema_definition = ::std::option::Option::Some(input);
213        self
214    }
215    /// <p>Definition for a schema on a tabular Dataset.</p>
216    pub fn set_schema_definition(mut self, input: ::std::option::Option<crate::types::SchemaUnion>) -> Self {
217        self.schema_definition = input;
218        self
219    }
220    /// <p>Definition for a schema on a tabular Dataset.</p>
221    pub fn get_schema_definition(&self) -> &::std::option::Option<crate::types::SchemaUnion> {
222        &self.schema_definition
223    }
224    /// Consumes the builder and constructs a [`CreateDatasetInput`](crate::operation::create_dataset::CreateDatasetInput).
225    pub fn build(
226        self,
227    ) -> ::std::result::Result<crate::operation::create_dataset::CreateDatasetInput, ::aws_smithy_types::error::operation::BuildError> {
228        ::std::result::Result::Ok(crate::operation::create_dataset::CreateDatasetInput {
229            client_token: self.client_token,
230            dataset_title: self.dataset_title,
231            kind: self.kind,
232            dataset_description: self.dataset_description,
233            owner_info: self.owner_info,
234            permission_group_params: self.permission_group_params,
235            alias: self.alias,
236            schema_definition: self.schema_definition,
237        })
238    }
239}