aws_sdk_sagemaker/types/
_artifact_source.rs1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct ArtifactSource {
7 pub source_uri: ::std::option::Option<::std::string::String>,
9 pub source_types: ::std::option::Option<::std::vec::Vec<crate::types::ArtifactSourceType>>,
11}
12impl ArtifactSource {
13 pub fn source_uri(&self) -> ::std::option::Option<&str> {
15 self.source_uri.as_deref()
16 }
17 pub fn source_types(&self) -> &[crate::types::ArtifactSourceType] {
21 self.source_types.as_deref().unwrap_or_default()
22 }
23}
24impl ArtifactSource {
25 pub fn builder() -> crate::types::builders::ArtifactSourceBuilder {
27 crate::types::builders::ArtifactSourceBuilder::default()
28 }
29}
30
31#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
33#[non_exhaustive]
34pub struct ArtifactSourceBuilder {
35 pub(crate) source_uri: ::std::option::Option<::std::string::String>,
36 pub(crate) source_types: ::std::option::Option<::std::vec::Vec<crate::types::ArtifactSourceType>>,
37}
38impl ArtifactSourceBuilder {
39 pub fn source_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
42 self.source_uri = ::std::option::Option::Some(input.into());
43 self
44 }
45 pub fn set_source_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
47 self.source_uri = input;
48 self
49 }
50 pub fn get_source_uri(&self) -> &::std::option::Option<::std::string::String> {
52 &self.source_uri
53 }
54 pub fn source_types(mut self, input: crate::types::ArtifactSourceType) -> Self {
60 let mut v = self.source_types.unwrap_or_default();
61 v.push(input);
62 self.source_types = ::std::option::Option::Some(v);
63 self
64 }
65 pub fn set_source_types(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ArtifactSourceType>>) -> Self {
67 self.source_types = input;
68 self
69 }
70 pub fn get_source_types(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ArtifactSourceType>> {
72 &self.source_types
73 }
74 pub fn build(self) -> crate::types::ArtifactSource {
76 crate::types::ArtifactSource {
77 source_uri: self.source_uri,
78 source_types: self.source_types,
79 }
80 }
81}