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}
21impl CreateSessionInput {
22 pub fn client_token(&self) -> ::std::option::Option<&str> {
24 self.client_token.as_deref()
25 }
26 pub fn assistant_id(&self) -> ::std::option::Option<&str> {
28 self.assistant_id.as_deref()
29 }
30 pub fn name(&self) -> ::std::option::Option<&str> {
32 self.name.as_deref()
33 }
34 pub fn description(&self) -> ::std::option::Option<&str> {
36 self.description.as_deref()
37 }
38 pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
40 self.tags.as_ref()
41 }
42 pub fn tag_filter(&self) -> ::std::option::Option<&crate::types::TagFilter> {
44 self.tag_filter.as_ref()
45 }
46 pub fn ai_agent_configuration(
48 &self,
49 ) -> ::std::option::Option<&::std::collections::HashMap<crate::types::AiAgentType, crate::types::AiAgentConfigurationData>> {
50 self.ai_agent_configuration.as_ref()
51 }
52}
53impl CreateSessionInput {
54 pub fn builder() -> crate::operation::create_session::builders::CreateSessionInputBuilder {
56 crate::operation::create_session::builders::CreateSessionInputBuilder::default()
57 }
58}
59
60#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
62#[non_exhaustive]
63pub struct CreateSessionInputBuilder {
64 pub(crate) client_token: ::std::option::Option<::std::string::String>,
65 pub(crate) assistant_id: ::std::option::Option<::std::string::String>,
66 pub(crate) name: ::std::option::Option<::std::string::String>,
67 pub(crate) description: ::std::option::Option<::std::string::String>,
68 pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
69 pub(crate) tag_filter: ::std::option::Option<crate::types::TagFilter>,
70 pub(crate) ai_agent_configuration:
71 ::std::option::Option<::std::collections::HashMap<crate::types::AiAgentType, crate::types::AiAgentConfigurationData>>,
72}
73impl CreateSessionInputBuilder {
74 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
76 self.client_token = ::std::option::Option::Some(input.into());
77 self
78 }
79 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
81 self.client_token = input;
82 self
83 }
84 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
86 &self.client_token
87 }
88 pub fn assistant_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
91 self.assistant_id = ::std::option::Option::Some(input.into());
92 self
93 }
94 pub fn set_assistant_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
96 self.assistant_id = input;
97 self
98 }
99 pub fn get_assistant_id(&self) -> &::std::option::Option<::std::string::String> {
101 &self.assistant_id
102 }
103 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
106 self.name = ::std::option::Option::Some(input.into());
107 self
108 }
109 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
111 self.name = input;
112 self
113 }
114 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
116 &self.name
117 }
118 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
120 self.description = ::std::option::Option::Some(input.into());
121 self
122 }
123 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
125 self.description = input;
126 self
127 }
128 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
130 &self.description
131 }
132 pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
138 let mut hash_map = self.tags.unwrap_or_default();
139 hash_map.insert(k.into(), v.into());
140 self.tags = ::std::option::Option::Some(hash_map);
141 self
142 }
143 pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
145 self.tags = input;
146 self
147 }
148 pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
150 &self.tags
151 }
152 pub fn tag_filter(mut self, input: crate::types::TagFilter) -> Self {
154 self.tag_filter = ::std::option::Option::Some(input);
155 self
156 }
157 pub fn set_tag_filter(mut self, input: ::std::option::Option<crate::types::TagFilter>) -> Self {
159 self.tag_filter = input;
160 self
161 }
162 pub fn get_tag_filter(&self) -> &::std::option::Option<crate::types::TagFilter> {
164 &self.tag_filter
165 }
166 pub fn ai_agent_configuration(mut self, k: crate::types::AiAgentType, v: crate::types::AiAgentConfigurationData) -> Self {
172 let mut hash_map = self.ai_agent_configuration.unwrap_or_default();
173 hash_map.insert(k, v);
174 self.ai_agent_configuration = ::std::option::Option::Some(hash_map);
175 self
176 }
177 pub fn set_ai_agent_configuration(
179 mut self,
180 input: ::std::option::Option<::std::collections::HashMap<crate::types::AiAgentType, crate::types::AiAgentConfigurationData>>,
181 ) -> Self {
182 self.ai_agent_configuration = input;
183 self
184 }
185 pub fn get_ai_agent_configuration(
187 &self,
188 ) -> &::std::option::Option<::std::collections::HashMap<crate::types::AiAgentType, crate::types::AiAgentConfigurationData>> {
189 &self.ai_agent_configuration
190 }
191 pub fn build(
193 self,
194 ) -> ::std::result::Result<crate::operation::create_session::CreateSessionInput, ::aws_smithy_types::error::operation::BuildError> {
195 ::std::result::Result::Ok(crate::operation::create_session::CreateSessionInput {
196 client_token: self.client_token,
197 assistant_id: self.assistant_id,
198 name: self.name,
199 description: self.description,
200 tags: self.tags,
201 tag_filter: self.tag_filter,
202 ai_agent_configuration: self.ai_agent_configuration,
203 })
204 }
205}