aws_sdk_opensearch/operation/create_application/
_create_application_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateApplicationInput {
6 pub client_token: ::std::option::Option<::std::string::String>,
8 pub name: ::std::option::Option<::std::string::String>,
10 pub data_sources: ::std::option::Option<::std::vec::Vec<crate::types::DataSource>>,
12 pub iam_identity_center_options: ::std::option::Option<crate::types::IamIdentityCenterOptionsInput>,
14 pub app_configs: ::std::option::Option<::std::vec::Vec<crate::types::AppConfig>>,
16 pub tag_list: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
18}
19impl CreateApplicationInput {
20 pub fn client_token(&self) -> ::std::option::Option<&str> {
22 self.client_token.as_deref()
23 }
24 pub fn name(&self) -> ::std::option::Option<&str> {
26 self.name.as_deref()
27 }
28 pub fn data_sources(&self) -> &[crate::types::DataSource] {
32 self.data_sources.as_deref().unwrap_or_default()
33 }
34 pub fn iam_identity_center_options(&self) -> ::std::option::Option<&crate::types::IamIdentityCenterOptionsInput> {
36 self.iam_identity_center_options.as_ref()
37 }
38 pub fn app_configs(&self) -> &[crate::types::AppConfig] {
42 self.app_configs.as_deref().unwrap_or_default()
43 }
44 pub fn tag_list(&self) -> &[crate::types::Tag] {
48 self.tag_list.as_deref().unwrap_or_default()
49 }
50}
51impl CreateApplicationInput {
52 pub fn builder() -> crate::operation::create_application::builders::CreateApplicationInputBuilder {
54 crate::operation::create_application::builders::CreateApplicationInputBuilder::default()
55 }
56}
57
58#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
60#[non_exhaustive]
61pub struct CreateApplicationInputBuilder {
62 pub(crate) client_token: ::std::option::Option<::std::string::String>,
63 pub(crate) name: ::std::option::Option<::std::string::String>,
64 pub(crate) data_sources: ::std::option::Option<::std::vec::Vec<crate::types::DataSource>>,
65 pub(crate) iam_identity_center_options: ::std::option::Option<crate::types::IamIdentityCenterOptionsInput>,
66 pub(crate) app_configs: ::std::option::Option<::std::vec::Vec<crate::types::AppConfig>>,
67 pub(crate) tag_list: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
68}
69impl CreateApplicationInputBuilder {
70 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
72 self.client_token = ::std::option::Option::Some(input.into());
73 self
74 }
75 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
77 self.client_token = input;
78 self
79 }
80 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
82 &self.client_token
83 }
84 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
87 self.name = ::std::option::Option::Some(input.into());
88 self
89 }
90 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
92 self.name = input;
93 self
94 }
95 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
97 &self.name
98 }
99 pub fn data_sources(mut self, input: crate::types::DataSource) -> Self {
105 let mut v = self.data_sources.unwrap_or_default();
106 v.push(input);
107 self.data_sources = ::std::option::Option::Some(v);
108 self
109 }
110 pub fn set_data_sources(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::DataSource>>) -> Self {
112 self.data_sources = input;
113 self
114 }
115 pub fn get_data_sources(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::DataSource>> {
117 &self.data_sources
118 }
119 pub fn iam_identity_center_options(mut self, input: crate::types::IamIdentityCenterOptionsInput) -> Self {
121 self.iam_identity_center_options = ::std::option::Option::Some(input);
122 self
123 }
124 pub fn set_iam_identity_center_options(mut self, input: ::std::option::Option<crate::types::IamIdentityCenterOptionsInput>) -> Self {
126 self.iam_identity_center_options = input;
127 self
128 }
129 pub fn get_iam_identity_center_options(&self) -> &::std::option::Option<crate::types::IamIdentityCenterOptionsInput> {
131 &self.iam_identity_center_options
132 }
133 pub fn app_configs(mut self, input: crate::types::AppConfig) -> Self {
139 let mut v = self.app_configs.unwrap_or_default();
140 v.push(input);
141 self.app_configs = ::std::option::Option::Some(v);
142 self
143 }
144 pub fn set_app_configs(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AppConfig>>) -> Self {
146 self.app_configs = input;
147 self
148 }
149 pub fn get_app_configs(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AppConfig>> {
151 &self.app_configs
152 }
153 pub fn tag_list(mut self, input: crate::types::Tag) -> Self {
159 let mut v = self.tag_list.unwrap_or_default();
160 v.push(input);
161 self.tag_list = ::std::option::Option::Some(v);
162 self
163 }
164 pub fn set_tag_list(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
166 self.tag_list = input;
167 self
168 }
169 pub fn get_tag_list(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
171 &self.tag_list
172 }
173 pub fn build(
175 self,
176 ) -> ::std::result::Result<crate::operation::create_application::CreateApplicationInput, ::aws_smithy_types::error::operation::BuildError> {
177 ::std::result::Result::Ok(crate::operation::create_application::CreateApplicationInput {
178 client_token: self.client_token,
179 name: self.name,
180 data_sources: self.data_sources,
181 iam_identity_center_options: self.iam_identity_center_options,
182 app_configs: self.app_configs,
183 tag_list: self.tag_list,
184 })
185 }
186}