aws_sdk_connect/operation/start_outbound_voice_contact/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::start_outbound_voice_contact::_start_outbound_voice_contact_output::StartOutboundVoiceContactOutputBuilder;
3
4pub use crate::operation::start_outbound_voice_contact::_start_outbound_voice_contact_input::StartOutboundVoiceContactInputBuilder;
5
6impl crate::operation::start_outbound_voice_contact::builders::StartOutboundVoiceContactInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::start_outbound_voice_contact::StartOutboundVoiceContactOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::start_outbound_voice_contact::StartOutboundVoiceContactError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.start_outbound_voice_contact();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `StartOutboundVoiceContact`.
24///
25/// <p>Places an outbound call to a contact, and then initiates the flow. It performs the actions in the flow that's specified (in <code>ContactFlowId</code>).</p>
26/// <p>Agents do not initiate the outbound API, which means that they do not dial the contact. If the flow places an outbound call to a contact, and then puts the contact in queue, the call is then routed to the agent, like any other inbound case.</p>
27/// <p>There is a 60-second dialing timeout for this operation. If the call is not connected after 60 seconds, it fails.</p><note>
28/// <p>UK numbers with a 447 prefix are not allowed by default. Before you can dial these UK mobile numbers, you must submit a service quota increase request. For more information, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html">Amazon Connect Service Quotas</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
29/// </note> <note>
30/// <p>Campaign calls are not allowed by default. Before you can make a call with <code>TrafficType</code> = <code>CAMPAIGN</code>, you must submit a service quota increase request to the quota <a href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#outbound-communications-quotas">Amazon Connect campaigns</a>.</p>
31/// </note> <note>
32/// <p>For Preview dialing mode, only the Amazon Connect outbound campaigns service principal is allowed to assume a role in your account and call this API with OutboundStrategy.</p>
33/// </note>
34#[derive(::std::clone::Clone, ::std::fmt::Debug)]
35pub struct StartOutboundVoiceContactFluentBuilder {
36    handle: ::std::sync::Arc<crate::client::Handle>,
37    inner: crate::operation::start_outbound_voice_contact::builders::StartOutboundVoiceContactInputBuilder,
38    config_override: ::std::option::Option<crate::config::Builder>,
39}
40impl
41    crate::client::customize::internal::CustomizableSend<
42        crate::operation::start_outbound_voice_contact::StartOutboundVoiceContactOutput,
43        crate::operation::start_outbound_voice_contact::StartOutboundVoiceContactError,
44    > for StartOutboundVoiceContactFluentBuilder
45{
46    fn send(
47        self,
48        config_override: crate::config::Builder,
49    ) -> crate::client::customize::internal::BoxFuture<
50        crate::client::customize::internal::SendResult<
51            crate::operation::start_outbound_voice_contact::StartOutboundVoiceContactOutput,
52            crate::operation::start_outbound_voice_contact::StartOutboundVoiceContactError,
53        >,
54    > {
55        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
56    }
57}
58impl StartOutboundVoiceContactFluentBuilder {
59    /// Creates a new `StartOutboundVoiceContactFluentBuilder`.
60    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
61        Self {
62            handle,
63            inner: ::std::default::Default::default(),
64            config_override: ::std::option::Option::None,
65        }
66    }
67    /// Access the StartOutboundVoiceContact as a reference.
68    pub fn as_input(&self) -> &crate::operation::start_outbound_voice_contact::builders::StartOutboundVoiceContactInputBuilder {
69        &self.inner
70    }
71    /// Sends the request and returns the response.
72    ///
73    /// If an error occurs, an `SdkError` will be returned with additional details that
74    /// can be matched against.
75    ///
76    /// By default, any retryable failures will be retried twice. Retry behavior
77    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
78    /// set when configuring the client.
79    pub async fn send(
80        self,
81    ) -> ::std::result::Result<
82        crate::operation::start_outbound_voice_contact::StartOutboundVoiceContactOutput,
83        ::aws_smithy_runtime_api::client::result::SdkError<
84            crate::operation::start_outbound_voice_contact::StartOutboundVoiceContactError,
85            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
86        >,
87    > {
88        let input = self
89            .inner
90            .build()
91            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
92        let runtime_plugins = crate::operation::start_outbound_voice_contact::StartOutboundVoiceContact::operation_runtime_plugins(
93            self.handle.runtime_plugins.clone(),
94            &self.handle.conf,
95            self.config_override,
96        );
97        crate::operation::start_outbound_voice_contact::StartOutboundVoiceContact::orchestrate(&runtime_plugins, input).await
98    }
99
100    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
101    pub fn customize(
102        self,
103    ) -> crate::client::customize::CustomizableOperation<
104        crate::operation::start_outbound_voice_contact::StartOutboundVoiceContactOutput,
105        crate::operation::start_outbound_voice_contact::StartOutboundVoiceContactError,
106        Self,
107    > {
108        crate::client::customize::CustomizableOperation::new(self)
109    }
110    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
111        self.set_config_override(::std::option::Option::Some(config_override.into()));
112        self
113    }
114
115    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
116        self.config_override = config_override;
117        self
118    }
119    /// <p>The name of a voice contact that is shown to an agent in the Contact Control Panel (CCP).</p>
120    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
121        self.inner = self.inner.name(input.into());
122        self
123    }
124    /// <p>The name of a voice contact that is shown to an agent in the Contact Control Panel (CCP).</p>
125    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
126        self.inner = self.inner.set_name(input);
127        self
128    }
129    /// <p>The name of a voice contact that is shown to an agent in the Contact Control Panel (CCP).</p>
130    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
131        self.inner.get_name()
132    }
133    /// <p>A description of the voice contact that appears in the agent's snapshot in the CCP logs. For more information about CCP logs, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/download-ccp-logs.html">Download and review CCP logs</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
134    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
135        self.inner = self.inner.description(input.into());
136        self
137    }
138    /// <p>A description of the voice contact that appears in the agent's snapshot in the CCP logs. For more information about CCP logs, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/download-ccp-logs.html">Download and review CCP logs</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
139    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
140        self.inner = self.inner.set_description(input);
141        self
142    }
143    /// <p>A description of the voice contact that appears in the agent's snapshot in the CCP logs. For more information about CCP logs, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/download-ccp-logs.html">Download and review CCP logs</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
144    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
145        self.inner.get_description()
146    }
147    ///
148    /// Adds a key-value pair to `References`.
149    ///
150    /// To override the contents of this collection use [`set_references`](Self::set_references).
151    ///
152    /// <p>A formatted URL that is shown to an agent in the Contact Control Panel (CCP). Contacts can have the following reference types at the time of creation: <code>URL</code> | <code>NUMBER</code> | <code>STRING</code> | <code>DATE</code> | <code>EMAIL</code>. <code>ATTACHMENT</code> is not a supported reference type during voice contact creation.</p>
153    pub fn references(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::Reference) -> Self {
154        self.inner = self.inner.references(k.into(), v);
155        self
156    }
157    /// <p>A formatted URL that is shown to an agent in the Contact Control Panel (CCP). Contacts can have the following reference types at the time of creation: <code>URL</code> | <code>NUMBER</code> | <code>STRING</code> | <code>DATE</code> | <code>EMAIL</code>. <code>ATTACHMENT</code> is not a supported reference type during voice contact creation.</p>
158    pub fn set_references(
159        mut self,
160        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Reference>>,
161    ) -> Self {
162        self.inner = self.inner.set_references(input);
163        self
164    }
165    /// <p>A formatted URL that is shown to an agent in the Contact Control Panel (CCP). Contacts can have the following reference types at the time of creation: <code>URL</code> | <code>NUMBER</code> | <code>STRING</code> | <code>DATE</code> | <code>EMAIL</code>. <code>ATTACHMENT</code> is not a supported reference type during voice contact creation.</p>
166    pub fn get_references(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::Reference>> {
167        self.inner.get_references()
168    }
169    /// <p>The <code>contactId</code> that is related to this contact. Linking voice, task, or chat by using <code>RelatedContactID</code> copies over contact attributes from the related contact to the new contact. All updates to user-defined attributes in the new contact are limited to the individual contact ID. There are no limits to the number of contacts that can be linked by using <code>RelatedContactId</code>.</p>
170    pub fn related_contact_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
171        self.inner = self.inner.related_contact_id(input.into());
172        self
173    }
174    /// <p>The <code>contactId</code> that is related to this contact. Linking voice, task, or chat by using <code>RelatedContactID</code> copies over contact attributes from the related contact to the new contact. All updates to user-defined attributes in the new contact are limited to the individual contact ID. There are no limits to the number of contacts that can be linked by using <code>RelatedContactId</code>.</p>
175    pub fn set_related_contact_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
176        self.inner = self.inner.set_related_contact_id(input);
177        self
178    }
179    /// <p>The <code>contactId</code> that is related to this contact. Linking voice, task, or chat by using <code>RelatedContactID</code> copies over contact attributes from the related contact to the new contact. All updates to user-defined attributes in the new contact are limited to the individual contact ID. There are no limits to the number of contacts that can be linked by using <code>RelatedContactId</code>.</p>
180    pub fn get_related_contact_id(&self) -> &::std::option::Option<::std::string::String> {
181        self.inner.get_related_contact_id()
182    }
183    /// <p>The phone number of the customer, in E.164 format.</p>
184    pub fn destination_phone_number(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
185        self.inner = self.inner.destination_phone_number(input.into());
186        self
187    }
188    /// <p>The phone number of the customer, in E.164 format.</p>
189    pub fn set_destination_phone_number(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
190        self.inner = self.inner.set_destination_phone_number(input);
191        self
192    }
193    /// <p>The phone number of the customer, in E.164 format.</p>
194    pub fn get_destination_phone_number(&self) -> &::std::option::Option<::std::string::String> {
195        self.inner.get_destination_phone_number()
196    }
197    /// <p>The identifier of the flow for the outbound call. To see the ContactFlowId in the Amazon Connect admin website, on the navigation menu go to <b>Routing</b>, <b>Contact Flows</b>. Choose the flow. On the flow page, under the name of the flow, choose <b>Show additional flow information</b>. The ContactFlowId is the last part of the ARN, shown here in bold:</p>
198    /// <p>arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/<b>846ec553-a005-41c0-8341-xxxxxxxxxxxx</b></p>
199    pub fn contact_flow_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
200        self.inner = self.inner.contact_flow_id(input.into());
201        self
202    }
203    /// <p>The identifier of the flow for the outbound call. To see the ContactFlowId in the Amazon Connect admin website, on the navigation menu go to <b>Routing</b>, <b>Contact Flows</b>. Choose the flow. On the flow page, under the name of the flow, choose <b>Show additional flow information</b>. The ContactFlowId is the last part of the ARN, shown here in bold:</p>
204    /// <p>arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/<b>846ec553-a005-41c0-8341-xxxxxxxxxxxx</b></p>
205    pub fn set_contact_flow_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
206        self.inner = self.inner.set_contact_flow_id(input);
207        self
208    }
209    /// <p>The identifier of the flow for the outbound call. To see the ContactFlowId in the Amazon Connect admin website, on the navigation menu go to <b>Routing</b>, <b>Contact Flows</b>. Choose the flow. On the flow page, under the name of the flow, choose <b>Show additional flow information</b>. The ContactFlowId is the last part of the ARN, shown here in bold:</p>
210    /// <p>arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/<b>846ec553-a005-41c0-8341-xxxxxxxxxxxx</b></p>
211    pub fn get_contact_flow_id(&self) -> &::std::option::Option<::std::string::String> {
212        self.inner.get_contact_flow_id()
213    }
214    /// <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>
215    pub fn instance_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
216        self.inner = self.inner.instance_id(input.into());
217        self
218    }
219    /// <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>
220    pub fn set_instance_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
221        self.inner = self.inner.set_instance_id(input);
222        self
223    }
224    /// <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>
225    pub fn get_instance_id(&self) -> &::std::option::Option<::std::string::String> {
226        self.inner.get_instance_id()
227    }
228    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see <a href="https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/">Making retries safe with idempotent APIs</a>. The token is valid for 7 days after creation. If a contact is already started, the contact ID is returned.</p>
229    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
230        self.inner = self.inner.client_token(input.into());
231        self
232    }
233    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see <a href="https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/">Making retries safe with idempotent APIs</a>. The token is valid for 7 days after creation. If a contact is already started, the contact ID is returned.</p>
234    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
235        self.inner = self.inner.set_client_token(input);
236        self
237    }
238    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see <a href="https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/">Making retries safe with idempotent APIs</a>. The token is valid for 7 days after creation. If a contact is already started, the contact ID is returned.</p>
239    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
240        self.inner.get_client_token()
241    }
242    /// <p>The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify a source phone number, you must specify a queue.</p>
243    pub fn source_phone_number(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
244        self.inner = self.inner.source_phone_number(input.into());
245        self
246    }
247    /// <p>The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify a source phone number, you must specify a queue.</p>
248    pub fn set_source_phone_number(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
249        self.inner = self.inner.set_source_phone_number(input);
250        self
251    }
252    /// <p>The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify a source phone number, you must specify a queue.</p>
253    pub fn get_source_phone_number(&self) -> &::std::option::Option<::std::string::String> {
254        self.inner.get_source_phone_number()
255    }
256    /// <p>The queue for the call. If you specify a queue, the phone displayed for caller ID is the phone number specified in the queue. If you do not specify a queue, the queue defined in the flow is used. If you do not specify a queue, you must specify a source phone number.</p>
257    pub fn queue_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
258        self.inner = self.inner.queue_id(input.into());
259        self
260    }
261    /// <p>The queue for the call. If you specify a queue, the phone displayed for caller ID is the phone number specified in the queue. If you do not specify a queue, the queue defined in the flow is used. If you do not specify a queue, you must specify a source phone number.</p>
262    pub fn set_queue_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
263        self.inner = self.inner.set_queue_id(input);
264        self
265    }
266    /// <p>The queue for the call. If you specify a queue, the phone displayed for caller ID is the phone number specified in the queue. If you do not specify a queue, the queue defined in the flow is used. If you do not specify a queue, you must specify a source phone number.</p>
267    pub fn get_queue_id(&self) -> &::std::option::Option<::std::string::String> {
268        self.inner.get_queue_id()
269    }
270    ///
271    /// Adds a key-value pair to `Attributes`.
272    ///
273    /// To override the contents of this collection use [`set_attributes`](Self::set_attributes).
274    ///
275    /// <p>A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in flows just like any other contact attributes.</p>
276    /// <p>There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact. Attribute keys can include only alphanumeric, dash, and underscore characters.</p>
277    pub fn attributes(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
278        self.inner = self.inner.attributes(k.into(), v.into());
279        self
280    }
281    /// <p>A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in flows just like any other contact attributes.</p>
282    /// <p>There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact. Attribute keys can include only alphanumeric, dash, and underscore characters.</p>
283    pub fn set_attributes(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
284        self.inner = self.inner.set_attributes(input);
285        self
286    }
287    /// <p>A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in flows just like any other contact attributes.</p>
288    /// <p>There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact. Attribute keys can include only alphanumeric, dash, and underscore characters.</p>
289    pub fn get_attributes(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
290        self.inner.get_attributes()
291    }
292    /// <p>Configuration of the answering machine detection for this outbound call.</p>
293    pub fn answer_machine_detection_config(mut self, input: crate::types::AnswerMachineDetectionConfig) -> Self {
294        self.inner = self.inner.answer_machine_detection_config(input);
295        self
296    }
297    /// <p>Configuration of the answering machine detection for this outbound call.</p>
298    pub fn set_answer_machine_detection_config(mut self, input: ::std::option::Option<crate::types::AnswerMachineDetectionConfig>) -> Self {
299        self.inner = self.inner.set_answer_machine_detection_config(input);
300        self
301    }
302    /// <p>Configuration of the answering machine detection for this outbound call.</p>
303    pub fn get_answer_machine_detection_config(&self) -> &::std::option::Option<crate::types::AnswerMachineDetectionConfig> {
304        self.inner.get_answer_machine_detection_config()
305    }
306    /// <p>The campaign identifier of the outbound communication.</p>
307    pub fn campaign_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
308        self.inner = self.inner.campaign_id(input.into());
309        self
310    }
311    /// <p>The campaign identifier of the outbound communication.</p>
312    pub fn set_campaign_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
313        self.inner = self.inner.set_campaign_id(input);
314        self
315    }
316    /// <p>The campaign identifier of the outbound communication.</p>
317    pub fn get_campaign_id(&self) -> &::std::option::Option<::std::string::String> {
318        self.inner.get_campaign_id()
319    }
320    /// <p>Denotes the class of traffic. Calls with different traffic types are handled differently by Amazon Connect. The default value is <code>GENERAL</code>. Use <code>CAMPAIGN</code> if <code>EnableAnswerMachineDetection</code> is set to <code>true</code>. For all other cases, use <code>GENERAL</code>.</p>
321    pub fn traffic_type(mut self, input: crate::types::TrafficType) -> Self {
322        self.inner = self.inner.traffic_type(input);
323        self
324    }
325    /// <p>Denotes the class of traffic. Calls with different traffic types are handled differently by Amazon Connect. The default value is <code>GENERAL</code>. Use <code>CAMPAIGN</code> if <code>EnableAnswerMachineDetection</code> is set to <code>true</code>. For all other cases, use <code>GENERAL</code>.</p>
326    pub fn set_traffic_type(mut self, input: ::std::option::Option<crate::types::TrafficType>) -> Self {
327        self.inner = self.inner.set_traffic_type(input);
328        self
329    }
330    /// <p>Denotes the class of traffic. Calls with different traffic types are handled differently by Amazon Connect. The default value is <code>GENERAL</code>. Use <code>CAMPAIGN</code> if <code>EnableAnswerMachineDetection</code> is set to <code>true</code>. For all other cases, use <code>GENERAL</code>.</p>
331    pub fn get_traffic_type(&self) -> &::std::option::Option<crate::types::TrafficType> {
332        self.inner.get_traffic_type()
333    }
334    /// <p>Information about the outbound strategy.</p>
335    pub fn outbound_strategy(mut self, input: crate::types::OutboundStrategy) -> Self {
336        self.inner = self.inner.outbound_strategy(input);
337        self
338    }
339    /// <p>Information about the outbound strategy.</p>
340    pub fn set_outbound_strategy(mut self, input: ::std::option::Option<crate::types::OutboundStrategy>) -> Self {
341        self.inner = self.inner.set_outbound_strategy(input);
342        self
343    }
344    /// <p>Information about the outbound strategy.</p>
345    pub fn get_outbound_strategy(&self) -> &::std::option::Option<crate::types::OutboundStrategy> {
346        self.inner.get_outbound_strategy()
347    }
348    /// <p>The maximum time the outbound call will wait for the destination to answer the call, in seconds</p>
349    pub fn ring_timeout_in_seconds(mut self, input: i32) -> Self {
350        self.inner = self.inner.ring_timeout_in_seconds(input);
351        self
352    }
353    /// <p>The maximum time the outbound call will wait for the destination to answer the call, in seconds</p>
354    pub fn set_ring_timeout_in_seconds(mut self, input: ::std::option::Option<i32>) -> Self {
355        self.inner = self.inner.set_ring_timeout_in_seconds(input);
356        self
357    }
358    /// <p>The maximum time the outbound call will wait for the destination to answer the call, in seconds</p>
359    pub fn get_ring_timeout_in_seconds(&self) -> &::std::option::Option<i32> {
360        self.inner.get_ring_timeout_in_seconds()
361    }
362}