aws_sdk_connect/operation/update_contact/_update_contact_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)]
5pub struct UpdateContactInput {
6 /// <p>The identifier of the Amazon Connect instance. You can <a href="https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html">find the instance ID</a> in the Amazon Resource Name (ARN) of the instance.</p>
7 pub instance_id: ::std::option::Option<::std::string::String>,
8 /// <p>The identifier of the contact. This is the identifier of the contact associated with the first interaction with your contact center.</p>
9 pub contact_id: ::std::option::Option<::std::string::String>,
10 /// <p>The name of the contact.</p>
11 pub name: ::std::option::Option<::std::string::String>,
12 /// <p>The description of the contact.</p>
13 pub description: ::std::option::Option<::std::string::String>,
14 /// <p>Well-formed data on contact, shown to agents on Contact Control Panel (CCP).</p>
15 pub references: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Reference>>,
16 /// <p>A set of system defined key-value pairs stored on individual contact segments (unique contact ID) using an attribute map. The attributes are standard Amazon Connect attributes. They can be accessed in flows.</p>
17 /// <p>Attribute keys can include only alphanumeric, -, and _.</p>
18 /// <p>This field can be used to show channel subtype, such as <code>connect:Guide</code>.</p>
19 /// <p>Contact Expiry, and user-defined attributes (String - String) that are defined in predefined attributes, can be updated by using the UpdateContact API.</p>
20 pub segment_attributes: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::SegmentAttributeValue>>,
21 /// <p>Information about the queue associated with a contact. This parameter can only be updated for external audio contacts. It is used when you integrate third-party systems with Contact Lens for analytics. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Amazon Connect Contact Lens integration</a> in the <i> Amazon Connect Administrator Guide</i>.</p>
22 pub queue_info: ::std::option::Option<crate::types::QueueInfoInput>,
23 /// <p>Information about the agent associated with a contact. This parameter can only be updated for external audio contacts. It is used when you integrate third-party systems with Contact Lens for analytics. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Amazon Connect Contact Lens integration</a> in the <i> Amazon Connect Administrator Guide</i>.</p>
24 pub user_info: ::std::option::Option<crate::types::UserInfo>,
25 /// <p>The endpoint of the customer for which the contact was initiated. For external audio contacts, this is usually the end customer's phone number. This value can only be updated for external audio contacts. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Amazon Connect Contact Lens integration</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
26 pub customer_endpoint: ::std::option::Option<crate::types::Endpoint>,
27 /// <p>External system endpoint for the contact was initiated. For external audio contacts, this is the phone number of the external system such as the contact center. This value can only be updated for external audio contacts. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Amazon Connect Contact Lens integration</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
28 pub system_endpoint: ::std::option::Option<crate::types::Endpoint>,
29}
30impl UpdateContactInput {
31 /// <p>The identifier of the Amazon Connect instance. You can <a href="https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html">find the instance ID</a> in the Amazon Resource Name (ARN) of the instance.</p>
32 pub fn instance_id(&self) -> ::std::option::Option<&str> {
33 self.instance_id.as_deref()
34 }
35 /// <p>The identifier of the contact. This is the identifier of the contact associated with the first interaction with your contact center.</p>
36 pub fn contact_id(&self) -> ::std::option::Option<&str> {
37 self.contact_id.as_deref()
38 }
39 /// <p>The name of the contact.</p>
40 pub fn name(&self) -> ::std::option::Option<&str> {
41 self.name.as_deref()
42 }
43 /// <p>The description of the contact.</p>
44 pub fn description(&self) -> ::std::option::Option<&str> {
45 self.description.as_deref()
46 }
47 /// <p>Well-formed data on contact, shown to agents on Contact Control Panel (CCP).</p>
48 pub fn references(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::Reference>> {
49 self.references.as_ref()
50 }
51 /// <p>A set of system defined key-value pairs stored on individual contact segments (unique contact ID) using an attribute map. The attributes are standard Amazon Connect attributes. They can be accessed in flows.</p>
52 /// <p>Attribute keys can include only alphanumeric, -, and _.</p>
53 /// <p>This field can be used to show channel subtype, such as <code>connect:Guide</code>.</p>
54 /// <p>Contact Expiry, and user-defined attributes (String - String) that are defined in predefined attributes, can be updated by using the UpdateContact API.</p>
55 pub fn segment_attributes(
56 &self,
57 ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::SegmentAttributeValue>> {
58 self.segment_attributes.as_ref()
59 }
60 /// <p>Information about the queue associated with a contact. This parameter can only be updated for external audio contacts. It is used when you integrate third-party systems with Contact Lens for analytics. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Amazon Connect Contact Lens integration</a> in the <i> Amazon Connect Administrator Guide</i>.</p>
61 pub fn queue_info(&self) -> ::std::option::Option<&crate::types::QueueInfoInput> {
62 self.queue_info.as_ref()
63 }
64 /// <p>Information about the agent associated with a contact. This parameter can only be updated for external audio contacts. It is used when you integrate third-party systems with Contact Lens for analytics. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Amazon Connect Contact Lens integration</a> in the <i> Amazon Connect Administrator Guide</i>.</p>
65 pub fn user_info(&self) -> ::std::option::Option<&crate::types::UserInfo> {
66 self.user_info.as_ref()
67 }
68 /// <p>The endpoint of the customer for which the contact was initiated. For external audio contacts, this is usually the end customer's phone number. This value can only be updated for external audio contacts. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Amazon Connect Contact Lens integration</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
69 pub fn customer_endpoint(&self) -> ::std::option::Option<&crate::types::Endpoint> {
70 self.customer_endpoint.as_ref()
71 }
72 /// <p>External system endpoint for the contact was initiated. For external audio contacts, this is the phone number of the external system such as the contact center. This value can only be updated for external audio contacts. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Amazon Connect Contact Lens integration</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
73 pub fn system_endpoint(&self) -> ::std::option::Option<&crate::types::Endpoint> {
74 self.system_endpoint.as_ref()
75 }
76}
77impl ::std::fmt::Debug for UpdateContactInput {
78 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
79 let mut formatter = f.debug_struct("UpdateContactInput");
80 formatter.field("instance_id", &self.instance_id);
81 formatter.field("contact_id", &self.contact_id);
82 formatter.field("name", &"*** Sensitive Data Redacted ***");
83 formatter.field("description", &"*** Sensitive Data Redacted ***");
84 formatter.field("references", &self.references);
85 formatter.field("segment_attributes", &self.segment_attributes);
86 formatter.field("queue_info", &self.queue_info);
87 formatter.field("user_info", &self.user_info);
88 formatter.field("customer_endpoint", &self.customer_endpoint);
89 formatter.field("system_endpoint", &self.system_endpoint);
90 formatter.finish()
91 }
92}
93impl UpdateContactInput {
94 /// Creates a new builder-style object to manufacture [`UpdateContactInput`](crate::operation::update_contact::UpdateContactInput).
95 pub fn builder() -> crate::operation::update_contact::builders::UpdateContactInputBuilder {
96 crate::operation::update_contact::builders::UpdateContactInputBuilder::default()
97 }
98}
99
100/// A builder for [`UpdateContactInput`](crate::operation::update_contact::UpdateContactInput).
101#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
102#[non_exhaustive]
103pub struct UpdateContactInputBuilder {
104 pub(crate) instance_id: ::std::option::Option<::std::string::String>,
105 pub(crate) contact_id: ::std::option::Option<::std::string::String>,
106 pub(crate) name: ::std::option::Option<::std::string::String>,
107 pub(crate) description: ::std::option::Option<::std::string::String>,
108 pub(crate) references: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Reference>>,
109 pub(crate) segment_attributes: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::SegmentAttributeValue>>,
110 pub(crate) queue_info: ::std::option::Option<crate::types::QueueInfoInput>,
111 pub(crate) user_info: ::std::option::Option<crate::types::UserInfo>,
112 pub(crate) customer_endpoint: ::std::option::Option<crate::types::Endpoint>,
113 pub(crate) system_endpoint: ::std::option::Option<crate::types::Endpoint>,
114}
115impl UpdateContactInputBuilder {
116 /// <p>The identifier of the Amazon Connect instance. You can <a href="https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html">find the instance ID</a> in the Amazon Resource Name (ARN) of the instance.</p>
117 /// This field is required.
118 pub fn instance_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
119 self.instance_id = ::std::option::Option::Some(input.into());
120 self
121 }
122 /// <p>The identifier of the Amazon Connect instance. You can <a href="https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html">find the instance ID</a> in the Amazon Resource Name (ARN) of the instance.</p>
123 pub fn set_instance_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
124 self.instance_id = input;
125 self
126 }
127 /// <p>The identifier of the Amazon Connect instance. You can <a href="https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html">find the instance ID</a> in the Amazon Resource Name (ARN) of the instance.</p>
128 pub fn get_instance_id(&self) -> &::std::option::Option<::std::string::String> {
129 &self.instance_id
130 }
131 /// <p>The identifier of the contact. This is the identifier of the contact associated with the first interaction with your contact center.</p>
132 /// This field is required.
133 pub fn contact_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
134 self.contact_id = ::std::option::Option::Some(input.into());
135 self
136 }
137 /// <p>The identifier of the contact. This is the identifier of the contact associated with the first interaction with your contact center.</p>
138 pub fn set_contact_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
139 self.contact_id = input;
140 self
141 }
142 /// <p>The identifier of the contact. This is the identifier of the contact associated with the first interaction with your contact center.</p>
143 pub fn get_contact_id(&self) -> &::std::option::Option<::std::string::String> {
144 &self.contact_id
145 }
146 /// <p>The name of the contact.</p>
147 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
148 self.name = ::std::option::Option::Some(input.into());
149 self
150 }
151 /// <p>The name of the contact.</p>
152 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
153 self.name = input;
154 self
155 }
156 /// <p>The name of the contact.</p>
157 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
158 &self.name
159 }
160 /// <p>The description of the contact.</p>
161 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
162 self.description = ::std::option::Option::Some(input.into());
163 self
164 }
165 /// <p>The description of the contact.</p>
166 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
167 self.description = input;
168 self
169 }
170 /// <p>The description of the contact.</p>
171 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
172 &self.description
173 }
174 /// Adds a key-value pair to `references`.
175 ///
176 /// To override the contents of this collection use [`set_references`](Self::set_references).
177 ///
178 /// <p>Well-formed data on contact, shown to agents on Contact Control Panel (CCP).</p>
179 pub fn references(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::Reference) -> Self {
180 let mut hash_map = self.references.unwrap_or_default();
181 hash_map.insert(k.into(), v);
182 self.references = ::std::option::Option::Some(hash_map);
183 self
184 }
185 /// <p>Well-formed data on contact, shown to agents on Contact Control Panel (CCP).</p>
186 pub fn set_references(
187 mut self,
188 input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Reference>>,
189 ) -> Self {
190 self.references = input;
191 self
192 }
193 /// <p>Well-formed data on contact, shown to agents on Contact Control Panel (CCP).</p>
194 pub fn get_references(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Reference>> {
195 &self.references
196 }
197 /// Adds a key-value pair to `segment_attributes`.
198 ///
199 /// To override the contents of this collection use [`set_segment_attributes`](Self::set_segment_attributes).
200 ///
201 /// <p>A set of system defined key-value pairs stored on individual contact segments (unique contact ID) using an attribute map. The attributes are standard Amazon Connect attributes. They can be accessed in flows.</p>
202 /// <p>Attribute keys can include only alphanumeric, -, and _.</p>
203 /// <p>This field can be used to show channel subtype, such as <code>connect:Guide</code>.</p>
204 /// <p>Contact Expiry, and user-defined attributes (String - String) that are defined in predefined attributes, can be updated by using the UpdateContact API.</p>
205 pub fn segment_attributes(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::SegmentAttributeValue) -> Self {
206 let mut hash_map = self.segment_attributes.unwrap_or_default();
207 hash_map.insert(k.into(), v);
208 self.segment_attributes = ::std::option::Option::Some(hash_map);
209 self
210 }
211 /// <p>A set of system defined key-value pairs stored on individual contact segments (unique contact ID) using an attribute map. The attributes are standard Amazon Connect attributes. They can be accessed in flows.</p>
212 /// <p>Attribute keys can include only alphanumeric, -, and _.</p>
213 /// <p>This field can be used to show channel subtype, such as <code>connect:Guide</code>.</p>
214 /// <p>Contact Expiry, and user-defined attributes (String - String) that are defined in predefined attributes, can be updated by using the UpdateContact API.</p>
215 pub fn set_segment_attributes(
216 mut self,
217 input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::SegmentAttributeValue>>,
218 ) -> Self {
219 self.segment_attributes = input;
220 self
221 }
222 /// <p>A set of system defined key-value pairs stored on individual contact segments (unique contact ID) using an attribute map. The attributes are standard Amazon Connect attributes. They can be accessed in flows.</p>
223 /// <p>Attribute keys can include only alphanumeric, -, and _.</p>
224 /// <p>This field can be used to show channel subtype, such as <code>connect:Guide</code>.</p>
225 /// <p>Contact Expiry, and user-defined attributes (String - String) that are defined in predefined attributes, can be updated by using the UpdateContact API.</p>
226 pub fn get_segment_attributes(
227 &self,
228 ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::SegmentAttributeValue>> {
229 &self.segment_attributes
230 }
231 /// <p>Information about the queue associated with a contact. This parameter can only be updated for external audio contacts. It is used when you integrate third-party systems with Contact Lens for analytics. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Amazon Connect Contact Lens integration</a> in the <i> Amazon Connect Administrator Guide</i>.</p>
232 pub fn queue_info(mut self, input: crate::types::QueueInfoInput) -> Self {
233 self.queue_info = ::std::option::Option::Some(input);
234 self
235 }
236 /// <p>Information about the queue associated with a contact. This parameter can only be updated for external audio contacts. It is used when you integrate third-party systems with Contact Lens for analytics. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Amazon Connect Contact Lens integration</a> in the <i> Amazon Connect Administrator Guide</i>.</p>
237 pub fn set_queue_info(mut self, input: ::std::option::Option<crate::types::QueueInfoInput>) -> Self {
238 self.queue_info = input;
239 self
240 }
241 /// <p>Information about the queue associated with a contact. This parameter can only be updated for external audio contacts. It is used when you integrate third-party systems with Contact Lens for analytics. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Amazon Connect Contact Lens integration</a> in the <i> Amazon Connect Administrator Guide</i>.</p>
242 pub fn get_queue_info(&self) -> &::std::option::Option<crate::types::QueueInfoInput> {
243 &self.queue_info
244 }
245 /// <p>Information about the agent associated with a contact. This parameter can only be updated for external audio contacts. It is used when you integrate third-party systems with Contact Lens for analytics. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Amazon Connect Contact Lens integration</a> in the <i> Amazon Connect Administrator Guide</i>.</p>
246 pub fn user_info(mut self, input: crate::types::UserInfo) -> Self {
247 self.user_info = ::std::option::Option::Some(input);
248 self
249 }
250 /// <p>Information about the agent associated with a contact. This parameter can only be updated for external audio contacts. It is used when you integrate third-party systems with Contact Lens for analytics. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Amazon Connect Contact Lens integration</a> in the <i> Amazon Connect Administrator Guide</i>.</p>
251 pub fn set_user_info(mut self, input: ::std::option::Option<crate::types::UserInfo>) -> Self {
252 self.user_info = input;
253 self
254 }
255 /// <p>Information about the agent associated with a contact. This parameter can only be updated for external audio contacts. It is used when you integrate third-party systems with Contact Lens for analytics. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Amazon Connect Contact Lens integration</a> in the <i> Amazon Connect Administrator Guide</i>.</p>
256 pub fn get_user_info(&self) -> &::std::option::Option<crate::types::UserInfo> {
257 &self.user_info
258 }
259 /// <p>The endpoint of the customer for which the contact was initiated. For external audio contacts, this is usually the end customer's phone number. This value can only be updated for external audio contacts. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Amazon Connect Contact Lens integration</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
260 pub fn customer_endpoint(mut self, input: crate::types::Endpoint) -> Self {
261 self.customer_endpoint = ::std::option::Option::Some(input);
262 self
263 }
264 /// <p>The endpoint of the customer for which the contact was initiated. For external audio contacts, this is usually the end customer's phone number. This value can only be updated for external audio contacts. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Amazon Connect Contact Lens integration</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
265 pub fn set_customer_endpoint(mut self, input: ::std::option::Option<crate::types::Endpoint>) -> Self {
266 self.customer_endpoint = input;
267 self
268 }
269 /// <p>The endpoint of the customer for which the contact was initiated. For external audio contacts, this is usually the end customer's phone number. This value can only be updated for external audio contacts. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Amazon Connect Contact Lens integration</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
270 pub fn get_customer_endpoint(&self) -> &::std::option::Option<crate::types::Endpoint> {
271 &self.customer_endpoint
272 }
273 /// <p>External system endpoint for the contact was initiated. For external audio contacts, this is the phone number of the external system such as the contact center. This value can only be updated for external audio contacts. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Amazon Connect Contact Lens integration</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
274 pub fn system_endpoint(mut self, input: crate::types::Endpoint) -> Self {
275 self.system_endpoint = ::std::option::Option::Some(input);
276 self
277 }
278 /// <p>External system endpoint for the contact was initiated. For external audio contacts, this is the phone number of the external system such as the contact center. This value can only be updated for external audio contacts. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Amazon Connect Contact Lens integration</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
279 pub fn set_system_endpoint(mut self, input: ::std::option::Option<crate::types::Endpoint>) -> Self {
280 self.system_endpoint = input;
281 self
282 }
283 /// <p>External system endpoint for the contact was initiated. For external audio contacts, this is the phone number of the external system such as the contact center. This value can only be updated for external audio contacts. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-integration.html">Amazon Connect Contact Lens integration</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
284 pub fn get_system_endpoint(&self) -> &::std::option::Option<crate::types::Endpoint> {
285 &self.system_endpoint
286 }
287 /// Consumes the builder and constructs a [`UpdateContactInput`](crate::operation::update_contact::UpdateContactInput).
288 pub fn build(
289 self,
290 ) -> ::std::result::Result<crate::operation::update_contact::UpdateContactInput, ::aws_smithy_types::error::operation::BuildError> {
291 ::std::result::Result::Ok(crate::operation::update_contact::UpdateContactInput {
292 instance_id: self.instance_id,
293 contact_id: self.contact_id,
294 name: self.name,
295 description: self.description,
296 references: self.references,
297 segment_attributes: self.segment_attributes,
298 queue_info: self.queue_info,
299 user_info: self.user_info,
300 customer_endpoint: self.customer_endpoint,
301 system_endpoint: self.system_endpoint,
302 })
303 }
304}
305impl ::std::fmt::Debug for UpdateContactInputBuilder {
306 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
307 let mut formatter = f.debug_struct("UpdateContactInputBuilder");
308 formatter.field("instance_id", &self.instance_id);
309 formatter.field("contact_id", &self.contact_id);
310 formatter.field("name", &"*** Sensitive Data Redacted ***");
311 formatter.field("description", &"*** Sensitive Data Redacted ***");
312 formatter.field("references", &self.references);
313 formatter.field("segment_attributes", &self.segment_attributes);
314 formatter.field("queue_info", &self.queue_info);
315 formatter.field("user_info", &self.user_info);
316 formatter.field("customer_endpoint", &self.customer_endpoint);
317 formatter.field("system_endpoint", &self.system_endpoint);
318 formatter.finish()
319 }
320}