aws_sdk_cleanroomsml/types/
_dataset_input_config.rs1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct DatasetInputConfig {
7 pub schema: ::std::vec::Vec<crate::types::ColumnSchema>,
9 pub data_source: ::std::option::Option<crate::types::DataSource>,
11}
12impl DatasetInputConfig {
13 pub fn schema(&self) -> &[crate::types::ColumnSchema] {
15 use std::ops::Deref;
16 self.schema.deref()
17 }
18 pub fn data_source(&self) -> ::std::option::Option<&crate::types::DataSource> {
20 self.data_source.as_ref()
21 }
22}
23impl DatasetInputConfig {
24 pub fn builder() -> crate::types::builders::DatasetInputConfigBuilder {
26 crate::types::builders::DatasetInputConfigBuilder::default()
27 }
28}
29
30#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
32#[non_exhaustive]
33pub struct DatasetInputConfigBuilder {
34 pub(crate) schema: ::std::option::Option<::std::vec::Vec<crate::types::ColumnSchema>>,
35 pub(crate) data_source: ::std::option::Option<crate::types::DataSource>,
36}
37impl DatasetInputConfigBuilder {
38 pub fn schema(mut self, input: crate::types::ColumnSchema) -> Self {
44 let mut v = self.schema.unwrap_or_default();
45 v.push(input);
46 self.schema = ::std::option::Option::Some(v);
47 self
48 }
49 pub fn set_schema(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ColumnSchema>>) -> Self {
51 self.schema = input;
52 self
53 }
54 pub fn get_schema(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ColumnSchema>> {
56 &self.schema
57 }
58 pub fn data_source(mut self, input: crate::types::DataSource) -> Self {
61 self.data_source = ::std::option::Option::Some(input);
62 self
63 }
64 pub fn set_data_source(mut self, input: ::std::option::Option<crate::types::DataSource>) -> Self {
66 self.data_source = input;
67 self
68 }
69 pub fn get_data_source(&self) -> &::std::option::Option<crate::types::DataSource> {
71 &self.data_source
72 }
73 pub fn build(self) -> ::std::result::Result<crate::types::DatasetInputConfig, ::aws_smithy_types::error::operation::BuildError> {
77 ::std::result::Result::Ok(crate::types::DatasetInputConfig {
78 schema: self.schema.ok_or_else(|| {
79 ::aws_smithy_types::error::operation::BuildError::missing_field(
80 "schema",
81 "schema was not specified but it is required when building DatasetInputConfig",
82 )
83 })?,
84 data_source: self.data_source,
85 })
86 }
87}