aws_sdk_qconnect/operation/create_session/
_create_session_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateSessionInput {
6 pub client_token: ::std::option::Option<::std::string::String>,
8 pub assistant_id: ::std::option::Option<::std::string::String>,
10 pub name: ::std::option::Option<::std::string::String>,
12 pub description: ::std::option::Option<::std::string::String>,
14 pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
16 pub tag_filter: ::std::option::Option<crate::types::TagFilter>,
18 pub ai_agent_configuration: ::std::option::Option<::std::collections::HashMap<crate::types::AiAgentType, crate::types::AiAgentConfigurationData>>,
20 pub contact_arn: ::std::option::Option<::std::string::String>,
22 pub orchestrator_configuration_list: ::std::option::Option<::std::vec::Vec<crate::types::OrchestratorConfigurationEntry>>,
24 pub remove_orchestrator_configuration_list: ::std::option::Option<bool>,
26}
27impl CreateSessionInput {
28 pub fn client_token(&self) -> ::std::option::Option<&str> {
30 self.client_token.as_deref()
31 }
32 pub fn assistant_id(&self) -> ::std::option::Option<&str> {
34 self.assistant_id.as_deref()
35 }
36 pub fn name(&self) -> ::std::option::Option<&str> {
38 self.name.as_deref()
39 }
40 pub fn description(&self) -> ::std::option::Option<&str> {
42 self.description.as_deref()
43 }
44 pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
46 self.tags.as_ref()
47 }
48 pub fn tag_filter(&self) -> ::std::option::Option<&crate::types::TagFilter> {
50 self.tag_filter.as_ref()
51 }
52 pub fn ai_agent_configuration(
54 &self,
55 ) -> ::std::option::Option<&::std::collections::HashMap<crate::types::AiAgentType, crate::types::AiAgentConfigurationData>> {
56 self.ai_agent_configuration.as_ref()
57 }
58 pub fn contact_arn(&self) -> ::std::option::Option<&str> {
60 self.contact_arn.as_deref()
61 }
62 pub fn orchestrator_configuration_list(&self) -> &[crate::types::OrchestratorConfigurationEntry] {
66 self.orchestrator_configuration_list.as_deref().unwrap_or_default()
67 }
68 pub fn remove_orchestrator_configuration_list(&self) -> ::std::option::Option<bool> {
70 self.remove_orchestrator_configuration_list
71 }
72}
73impl CreateSessionInput {
74 pub fn builder() -> crate::operation::create_session::builders::CreateSessionInputBuilder {
76 crate::operation::create_session::builders::CreateSessionInputBuilder::default()
77 }
78}
79
80#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
82#[non_exhaustive]
83pub struct CreateSessionInputBuilder {
84 pub(crate) client_token: ::std::option::Option<::std::string::String>,
85 pub(crate) assistant_id: ::std::option::Option<::std::string::String>,
86 pub(crate) name: ::std::option::Option<::std::string::String>,
87 pub(crate) description: ::std::option::Option<::std::string::String>,
88 pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
89 pub(crate) tag_filter: ::std::option::Option<crate::types::TagFilter>,
90 pub(crate) ai_agent_configuration:
91 ::std::option::Option<::std::collections::HashMap<crate::types::AiAgentType, crate::types::AiAgentConfigurationData>>,
92 pub(crate) contact_arn: ::std::option::Option<::std::string::String>,
93 pub(crate) orchestrator_configuration_list: ::std::option::Option<::std::vec::Vec<crate::types::OrchestratorConfigurationEntry>>,
94 pub(crate) remove_orchestrator_configuration_list: ::std::option::Option<bool>,
95}
96impl CreateSessionInputBuilder {
97 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
99 self.client_token = ::std::option::Option::Some(input.into());
100 self
101 }
102 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
104 self.client_token = input;
105 self
106 }
107 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
109 &self.client_token
110 }
111 pub fn assistant_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
114 self.assistant_id = ::std::option::Option::Some(input.into());
115 self
116 }
117 pub fn set_assistant_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
119 self.assistant_id = input;
120 self
121 }
122 pub fn get_assistant_id(&self) -> &::std::option::Option<::std::string::String> {
124 &self.assistant_id
125 }
126 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
129 self.name = ::std::option::Option::Some(input.into());
130 self
131 }
132 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
134 self.name = input;
135 self
136 }
137 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
139 &self.name
140 }
141 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
143 self.description = ::std::option::Option::Some(input.into());
144 self
145 }
146 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
148 self.description = input;
149 self
150 }
151 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
153 &self.description
154 }
155 pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
161 let mut hash_map = self.tags.unwrap_or_default();
162 hash_map.insert(k.into(), v.into());
163 self.tags = ::std::option::Option::Some(hash_map);
164 self
165 }
166 pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
168 self.tags = input;
169 self
170 }
171 pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
173 &self.tags
174 }
175 pub fn tag_filter(mut self, input: crate::types::TagFilter) -> Self {
177 self.tag_filter = ::std::option::Option::Some(input);
178 self
179 }
180 pub fn set_tag_filter(mut self, input: ::std::option::Option<crate::types::TagFilter>) -> Self {
182 self.tag_filter = input;
183 self
184 }
185 pub fn get_tag_filter(&self) -> &::std::option::Option<crate::types::TagFilter> {
187 &self.tag_filter
188 }
189 pub fn ai_agent_configuration(mut self, k: crate::types::AiAgentType, v: crate::types::AiAgentConfigurationData) -> Self {
195 let mut hash_map = self.ai_agent_configuration.unwrap_or_default();
196 hash_map.insert(k, v);
197 self.ai_agent_configuration = ::std::option::Option::Some(hash_map);
198 self
199 }
200 pub fn set_ai_agent_configuration(
202 mut self,
203 input: ::std::option::Option<::std::collections::HashMap<crate::types::AiAgentType, crate::types::AiAgentConfigurationData>>,
204 ) -> Self {
205 self.ai_agent_configuration = input;
206 self
207 }
208 pub fn get_ai_agent_configuration(
210 &self,
211 ) -> &::std::option::Option<::std::collections::HashMap<crate::types::AiAgentType, crate::types::AiAgentConfigurationData>> {
212 &self.ai_agent_configuration
213 }
214 pub fn contact_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
216 self.contact_arn = ::std::option::Option::Some(input.into());
217 self
218 }
219 pub fn set_contact_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
221 self.contact_arn = input;
222 self
223 }
224 pub fn get_contact_arn(&self) -> &::std::option::Option<::std::string::String> {
226 &self.contact_arn
227 }
228 pub fn orchestrator_configuration_list(mut self, input: crate::types::OrchestratorConfigurationEntry) -> Self {
234 let mut v = self.orchestrator_configuration_list.unwrap_or_default();
235 v.push(input);
236 self.orchestrator_configuration_list = ::std::option::Option::Some(v);
237 self
238 }
239 pub fn set_orchestrator_configuration_list(
241 mut self,
242 input: ::std::option::Option<::std::vec::Vec<crate::types::OrchestratorConfigurationEntry>>,
243 ) -> Self {
244 self.orchestrator_configuration_list = input;
245 self
246 }
247 pub fn get_orchestrator_configuration_list(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::OrchestratorConfigurationEntry>> {
249 &self.orchestrator_configuration_list
250 }
251 pub fn remove_orchestrator_configuration_list(mut self, input: bool) -> Self {
253 self.remove_orchestrator_configuration_list = ::std::option::Option::Some(input);
254 self
255 }
256 pub fn set_remove_orchestrator_configuration_list(mut self, input: ::std::option::Option<bool>) -> Self {
258 self.remove_orchestrator_configuration_list = input;
259 self
260 }
261 pub fn get_remove_orchestrator_configuration_list(&self) -> &::std::option::Option<bool> {
263 &self.remove_orchestrator_configuration_list
264 }
265 pub fn build(
267 self,
268 ) -> ::std::result::Result<crate::operation::create_session::CreateSessionInput, ::aws_smithy_types::error::operation::BuildError> {
269 ::std::result::Result::Ok(crate::operation::create_session::CreateSessionInput {
270 client_token: self.client_token,
271 assistant_id: self.assistant_id,
272 name: self.name,
273 description: self.description,
274 tags: self.tags,
275 tag_filter: self.tag_filter,
276 ai_agent_configuration: self.ai_agent_configuration,
277 contact_arn: self.contact_arn,
278 orchestrator_configuration_list: self.orchestrator_configuration_list,
279 remove_orchestrator_configuration_list: self.remove_orchestrator_configuration_list,
280 })
281 }
282}