aws_sdk_pinpointsmsvoicev2/operation/request_phone_number/
_request_phone_number_output.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 RequestPhoneNumberOutput {
6    /// <p>The Amazon Resource Name (ARN) of the requested phone number.</p>
7    pub phone_number_arn: ::std::option::Option<::std::string::String>,
8    /// <p>The unique identifier of the new phone number.</p>
9    pub phone_number_id: ::std::option::Option<::std::string::String>,
10    /// <p>The new phone number that was requested.</p>
11    pub phone_number: ::std::option::Option<::std::string::String>,
12    /// <p>The current status of the request.</p>
13    pub status: ::std::option::Option<crate::types::NumberStatus>,
14    /// <p>The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.</p>
15    pub iso_country_code: ::std::option::Option<::std::string::String>,
16    /// <p>The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive.</p>
17    pub message_type: ::std::option::Option<crate::types::MessageType>,
18    /// <p>Indicates if the phone number will be used for text messages, voice messages or both.</p>
19    pub number_capabilities: ::std::option::Option<::std::vec::Vec<crate::types::NumberCapability>>,
20    /// <p>The type of number that was released.</p>
21    pub number_type: ::std::option::Option<crate::types::RequestableNumberType>,
22    /// <p>The monthly price, in US dollars, to lease the phone number.</p>
23    pub monthly_leasing_price: ::std::option::Option<::std::string::String>,
24    /// <p>By default this is set to false. When set to true you can receive incoming text messages from your end recipients.</p>
25    pub two_way_enabled: bool,
26    /// <p>The ARN used to identify the two way channel.</p>
27    pub two_way_channel_arn: ::std::option::Option<::std::string::String>,
28    /// <p>An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.</p>
29    pub two_way_channel_role: ::std::option::Option<::std::string::String>,
30    /// <p>By default this is set to false. When an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests.</p>
31    pub self_managed_opt_outs_enabled: bool,
32    /// <p>The name of the OptOutList that is associated with the requested phone number.</p>
33    pub opt_out_list_name: ::std::option::Option<::std::string::String>,
34    /// <p>By default this is set to false. When set to true the international sending of phone number is Enabled.</p>
35    pub international_sending_enabled: bool,
36    /// <p>By default this is set to false. When set to true the phone number can't be deleted.</p>
37    pub deletion_protection_enabled: bool,
38    /// <p>The unique identifier of the pool associated with the phone number</p>
39    pub pool_id: ::std::option::Option<::std::string::String>,
40    /// <p>The unique identifier for the registration.</p>
41    pub registration_id: ::std::option::Option<::std::string::String>,
42    /// <p>An array of key and value pair tags that are associated with the phone number.</p>
43    pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
44    /// <p>The time when the phone number was created, in <a href="https://www.epochconverter.com/">UNIX epoch time</a> format.</p>
45    pub created_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
46    _request_id: Option<String>,
47}
48impl RequestPhoneNumberOutput {
49    /// <p>The Amazon Resource Name (ARN) of the requested phone number.</p>
50    pub fn phone_number_arn(&self) -> ::std::option::Option<&str> {
51        self.phone_number_arn.as_deref()
52    }
53    /// <p>The unique identifier of the new phone number.</p>
54    pub fn phone_number_id(&self) -> ::std::option::Option<&str> {
55        self.phone_number_id.as_deref()
56    }
57    /// <p>The new phone number that was requested.</p>
58    pub fn phone_number(&self) -> ::std::option::Option<&str> {
59        self.phone_number.as_deref()
60    }
61    /// <p>The current status of the request.</p>
62    pub fn status(&self) -> ::std::option::Option<&crate::types::NumberStatus> {
63        self.status.as_ref()
64    }
65    /// <p>The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.</p>
66    pub fn iso_country_code(&self) -> ::std::option::Option<&str> {
67        self.iso_country_code.as_deref()
68    }
69    /// <p>The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive.</p>
70    pub fn message_type(&self) -> ::std::option::Option<&crate::types::MessageType> {
71        self.message_type.as_ref()
72    }
73    /// <p>Indicates if the phone number will be used for text messages, voice messages or both.</p>
74    ///
75    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.number_capabilities.is_none()`.
76    pub fn number_capabilities(&self) -> &[crate::types::NumberCapability] {
77        self.number_capabilities.as_deref().unwrap_or_default()
78    }
79    /// <p>The type of number that was released.</p>
80    pub fn number_type(&self) -> ::std::option::Option<&crate::types::RequestableNumberType> {
81        self.number_type.as_ref()
82    }
83    /// <p>The monthly price, in US dollars, to lease the phone number.</p>
84    pub fn monthly_leasing_price(&self) -> ::std::option::Option<&str> {
85        self.monthly_leasing_price.as_deref()
86    }
87    /// <p>By default this is set to false. When set to true you can receive incoming text messages from your end recipients.</p>
88    pub fn two_way_enabled(&self) -> bool {
89        self.two_way_enabled
90    }
91    /// <p>The ARN used to identify the two way channel.</p>
92    pub fn two_way_channel_arn(&self) -> ::std::option::Option<&str> {
93        self.two_way_channel_arn.as_deref()
94    }
95    /// <p>An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.</p>
96    pub fn two_way_channel_role(&self) -> ::std::option::Option<&str> {
97        self.two_way_channel_role.as_deref()
98    }
99    /// <p>By default this is set to false. When an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests.</p>
100    pub fn self_managed_opt_outs_enabled(&self) -> bool {
101        self.self_managed_opt_outs_enabled
102    }
103    /// <p>The name of the OptOutList that is associated with the requested phone number.</p>
104    pub fn opt_out_list_name(&self) -> ::std::option::Option<&str> {
105        self.opt_out_list_name.as_deref()
106    }
107    /// <p>By default this is set to false. When set to true the international sending of phone number is Enabled.</p>
108    pub fn international_sending_enabled(&self) -> bool {
109        self.international_sending_enabled
110    }
111    /// <p>By default this is set to false. When set to true the phone number can't be deleted.</p>
112    pub fn deletion_protection_enabled(&self) -> bool {
113        self.deletion_protection_enabled
114    }
115    /// <p>The unique identifier of the pool associated with the phone number</p>
116    pub fn pool_id(&self) -> ::std::option::Option<&str> {
117        self.pool_id.as_deref()
118    }
119    /// <p>The unique identifier for the registration.</p>
120    pub fn registration_id(&self) -> ::std::option::Option<&str> {
121        self.registration_id.as_deref()
122    }
123    /// <p>An array of key and value pair tags that are associated with the phone number.</p>
124    ///
125    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.tags.is_none()`.
126    pub fn tags(&self) -> &[crate::types::Tag] {
127        self.tags.as_deref().unwrap_or_default()
128    }
129    /// <p>The time when the phone number was created, in <a href="https://www.epochconverter.com/">UNIX epoch time</a> format.</p>
130    pub fn created_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
131        self.created_timestamp.as_ref()
132    }
133}
134impl ::aws_types::request_id::RequestId for RequestPhoneNumberOutput {
135    fn request_id(&self) -> Option<&str> {
136        self._request_id.as_deref()
137    }
138}
139impl RequestPhoneNumberOutput {
140    /// Creates a new builder-style object to manufacture [`RequestPhoneNumberOutput`](crate::operation::request_phone_number::RequestPhoneNumberOutput).
141    pub fn builder() -> crate::operation::request_phone_number::builders::RequestPhoneNumberOutputBuilder {
142        crate::operation::request_phone_number::builders::RequestPhoneNumberOutputBuilder::default()
143    }
144}
145
146/// A builder for [`RequestPhoneNumberOutput`](crate::operation::request_phone_number::RequestPhoneNumberOutput).
147#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
148#[non_exhaustive]
149pub struct RequestPhoneNumberOutputBuilder {
150    pub(crate) phone_number_arn: ::std::option::Option<::std::string::String>,
151    pub(crate) phone_number_id: ::std::option::Option<::std::string::String>,
152    pub(crate) phone_number: ::std::option::Option<::std::string::String>,
153    pub(crate) status: ::std::option::Option<crate::types::NumberStatus>,
154    pub(crate) iso_country_code: ::std::option::Option<::std::string::String>,
155    pub(crate) message_type: ::std::option::Option<crate::types::MessageType>,
156    pub(crate) number_capabilities: ::std::option::Option<::std::vec::Vec<crate::types::NumberCapability>>,
157    pub(crate) number_type: ::std::option::Option<crate::types::RequestableNumberType>,
158    pub(crate) monthly_leasing_price: ::std::option::Option<::std::string::String>,
159    pub(crate) two_way_enabled: ::std::option::Option<bool>,
160    pub(crate) two_way_channel_arn: ::std::option::Option<::std::string::String>,
161    pub(crate) two_way_channel_role: ::std::option::Option<::std::string::String>,
162    pub(crate) self_managed_opt_outs_enabled: ::std::option::Option<bool>,
163    pub(crate) opt_out_list_name: ::std::option::Option<::std::string::String>,
164    pub(crate) international_sending_enabled: ::std::option::Option<bool>,
165    pub(crate) deletion_protection_enabled: ::std::option::Option<bool>,
166    pub(crate) pool_id: ::std::option::Option<::std::string::String>,
167    pub(crate) registration_id: ::std::option::Option<::std::string::String>,
168    pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
169    pub(crate) created_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
170    _request_id: Option<String>,
171}
172impl RequestPhoneNumberOutputBuilder {
173    /// <p>The Amazon Resource Name (ARN) of the requested phone number.</p>
174    pub fn phone_number_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
175        self.phone_number_arn = ::std::option::Option::Some(input.into());
176        self
177    }
178    /// <p>The Amazon Resource Name (ARN) of the requested phone number.</p>
179    pub fn set_phone_number_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
180        self.phone_number_arn = input;
181        self
182    }
183    /// <p>The Amazon Resource Name (ARN) of the requested phone number.</p>
184    pub fn get_phone_number_arn(&self) -> &::std::option::Option<::std::string::String> {
185        &self.phone_number_arn
186    }
187    /// <p>The unique identifier of the new phone number.</p>
188    pub fn phone_number_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
189        self.phone_number_id = ::std::option::Option::Some(input.into());
190        self
191    }
192    /// <p>The unique identifier of the new phone number.</p>
193    pub fn set_phone_number_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
194        self.phone_number_id = input;
195        self
196    }
197    /// <p>The unique identifier of the new phone number.</p>
198    pub fn get_phone_number_id(&self) -> &::std::option::Option<::std::string::String> {
199        &self.phone_number_id
200    }
201    /// <p>The new phone number that was requested.</p>
202    pub fn phone_number(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
203        self.phone_number = ::std::option::Option::Some(input.into());
204        self
205    }
206    /// <p>The new phone number that was requested.</p>
207    pub fn set_phone_number(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
208        self.phone_number = input;
209        self
210    }
211    /// <p>The new phone number that was requested.</p>
212    pub fn get_phone_number(&self) -> &::std::option::Option<::std::string::String> {
213        &self.phone_number
214    }
215    /// <p>The current status of the request.</p>
216    pub fn status(mut self, input: crate::types::NumberStatus) -> Self {
217        self.status = ::std::option::Option::Some(input);
218        self
219    }
220    /// <p>The current status of the request.</p>
221    pub fn set_status(mut self, input: ::std::option::Option<crate::types::NumberStatus>) -> Self {
222        self.status = input;
223        self
224    }
225    /// <p>The current status of the request.</p>
226    pub fn get_status(&self) -> &::std::option::Option<crate::types::NumberStatus> {
227        &self.status
228    }
229    /// <p>The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.</p>
230    pub fn iso_country_code(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
231        self.iso_country_code = ::std::option::Option::Some(input.into());
232        self
233    }
234    /// <p>The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.</p>
235    pub fn set_iso_country_code(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
236        self.iso_country_code = input;
237        self
238    }
239    /// <p>The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.</p>
240    pub fn get_iso_country_code(&self) -> &::std::option::Option<::std::string::String> {
241        &self.iso_country_code
242    }
243    /// <p>The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive.</p>
244    pub fn message_type(mut self, input: crate::types::MessageType) -> Self {
245        self.message_type = ::std::option::Option::Some(input);
246        self
247    }
248    /// <p>The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive.</p>
249    pub fn set_message_type(mut self, input: ::std::option::Option<crate::types::MessageType>) -> Self {
250        self.message_type = input;
251        self
252    }
253    /// <p>The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive.</p>
254    pub fn get_message_type(&self) -> &::std::option::Option<crate::types::MessageType> {
255        &self.message_type
256    }
257    /// Appends an item to `number_capabilities`.
258    ///
259    /// To override the contents of this collection use [`set_number_capabilities`](Self::set_number_capabilities).
260    ///
261    /// <p>Indicates if the phone number will be used for text messages, voice messages or both.</p>
262    pub fn number_capabilities(mut self, input: crate::types::NumberCapability) -> Self {
263        let mut v = self.number_capabilities.unwrap_or_default();
264        v.push(input);
265        self.number_capabilities = ::std::option::Option::Some(v);
266        self
267    }
268    /// <p>Indicates if the phone number will be used for text messages, voice messages or both.</p>
269    pub fn set_number_capabilities(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::NumberCapability>>) -> Self {
270        self.number_capabilities = input;
271        self
272    }
273    /// <p>Indicates if the phone number will be used for text messages, voice messages or both.</p>
274    pub fn get_number_capabilities(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::NumberCapability>> {
275        &self.number_capabilities
276    }
277    /// <p>The type of number that was released.</p>
278    pub fn number_type(mut self, input: crate::types::RequestableNumberType) -> Self {
279        self.number_type = ::std::option::Option::Some(input);
280        self
281    }
282    /// <p>The type of number that was released.</p>
283    pub fn set_number_type(mut self, input: ::std::option::Option<crate::types::RequestableNumberType>) -> Self {
284        self.number_type = input;
285        self
286    }
287    /// <p>The type of number that was released.</p>
288    pub fn get_number_type(&self) -> &::std::option::Option<crate::types::RequestableNumberType> {
289        &self.number_type
290    }
291    /// <p>The monthly price, in US dollars, to lease the phone number.</p>
292    pub fn monthly_leasing_price(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
293        self.monthly_leasing_price = ::std::option::Option::Some(input.into());
294        self
295    }
296    /// <p>The monthly price, in US dollars, to lease the phone number.</p>
297    pub fn set_monthly_leasing_price(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
298        self.monthly_leasing_price = input;
299        self
300    }
301    /// <p>The monthly price, in US dollars, to lease the phone number.</p>
302    pub fn get_monthly_leasing_price(&self) -> &::std::option::Option<::std::string::String> {
303        &self.monthly_leasing_price
304    }
305    /// <p>By default this is set to false. When set to true you can receive incoming text messages from your end recipients.</p>
306    pub fn two_way_enabled(mut self, input: bool) -> Self {
307        self.two_way_enabled = ::std::option::Option::Some(input);
308        self
309    }
310    /// <p>By default this is set to false. When set to true you can receive incoming text messages from your end recipients.</p>
311    pub fn set_two_way_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
312        self.two_way_enabled = input;
313        self
314    }
315    /// <p>By default this is set to false. When set to true you can receive incoming text messages from your end recipients.</p>
316    pub fn get_two_way_enabled(&self) -> &::std::option::Option<bool> {
317        &self.two_way_enabled
318    }
319    /// <p>The ARN used to identify the two way channel.</p>
320    pub fn two_way_channel_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
321        self.two_way_channel_arn = ::std::option::Option::Some(input.into());
322        self
323    }
324    /// <p>The ARN used to identify the two way channel.</p>
325    pub fn set_two_way_channel_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
326        self.two_way_channel_arn = input;
327        self
328    }
329    /// <p>The ARN used to identify the two way channel.</p>
330    pub fn get_two_way_channel_arn(&self) -> &::std::option::Option<::std::string::String> {
331        &self.two_way_channel_arn
332    }
333    /// <p>An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.</p>
334    pub fn two_way_channel_role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
335        self.two_way_channel_role = ::std::option::Option::Some(input.into());
336        self
337    }
338    /// <p>An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.</p>
339    pub fn set_two_way_channel_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
340        self.two_way_channel_role = input;
341        self
342    }
343    /// <p>An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.</p>
344    pub fn get_two_way_channel_role(&self) -> &::std::option::Option<::std::string::String> {
345        &self.two_way_channel_role
346    }
347    /// <p>By default this is set to false. When an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests.</p>
348    pub fn self_managed_opt_outs_enabled(mut self, input: bool) -> Self {
349        self.self_managed_opt_outs_enabled = ::std::option::Option::Some(input);
350        self
351    }
352    /// <p>By default this is set to false. When an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests.</p>
353    pub fn set_self_managed_opt_outs_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
354        self.self_managed_opt_outs_enabled = input;
355        self
356    }
357    /// <p>By default this is set to false. When an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests.</p>
358    pub fn get_self_managed_opt_outs_enabled(&self) -> &::std::option::Option<bool> {
359        &self.self_managed_opt_outs_enabled
360    }
361    /// <p>The name of the OptOutList that is associated with the requested phone number.</p>
362    pub fn opt_out_list_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
363        self.opt_out_list_name = ::std::option::Option::Some(input.into());
364        self
365    }
366    /// <p>The name of the OptOutList that is associated with the requested phone number.</p>
367    pub fn set_opt_out_list_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
368        self.opt_out_list_name = input;
369        self
370    }
371    /// <p>The name of the OptOutList that is associated with the requested phone number.</p>
372    pub fn get_opt_out_list_name(&self) -> &::std::option::Option<::std::string::String> {
373        &self.opt_out_list_name
374    }
375    /// <p>By default this is set to false. When set to true the international sending of phone number is Enabled.</p>
376    pub fn international_sending_enabled(mut self, input: bool) -> Self {
377        self.international_sending_enabled = ::std::option::Option::Some(input);
378        self
379    }
380    /// <p>By default this is set to false. When set to true the international sending of phone number is Enabled.</p>
381    pub fn set_international_sending_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
382        self.international_sending_enabled = input;
383        self
384    }
385    /// <p>By default this is set to false. When set to true the international sending of phone number is Enabled.</p>
386    pub fn get_international_sending_enabled(&self) -> &::std::option::Option<bool> {
387        &self.international_sending_enabled
388    }
389    /// <p>By default this is set to false. When set to true the phone number can't be deleted.</p>
390    pub fn deletion_protection_enabled(mut self, input: bool) -> Self {
391        self.deletion_protection_enabled = ::std::option::Option::Some(input);
392        self
393    }
394    /// <p>By default this is set to false. When set to true the phone number can't be deleted.</p>
395    pub fn set_deletion_protection_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
396        self.deletion_protection_enabled = input;
397        self
398    }
399    /// <p>By default this is set to false. When set to true the phone number can't be deleted.</p>
400    pub fn get_deletion_protection_enabled(&self) -> &::std::option::Option<bool> {
401        &self.deletion_protection_enabled
402    }
403    /// <p>The unique identifier of the pool associated with the phone number</p>
404    pub fn pool_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
405        self.pool_id = ::std::option::Option::Some(input.into());
406        self
407    }
408    /// <p>The unique identifier of the pool associated with the phone number</p>
409    pub fn set_pool_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
410        self.pool_id = input;
411        self
412    }
413    /// <p>The unique identifier of the pool associated with the phone number</p>
414    pub fn get_pool_id(&self) -> &::std::option::Option<::std::string::String> {
415        &self.pool_id
416    }
417    /// <p>The unique identifier for the registration.</p>
418    pub fn registration_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
419        self.registration_id = ::std::option::Option::Some(input.into());
420        self
421    }
422    /// <p>The unique identifier for the registration.</p>
423    pub fn set_registration_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
424        self.registration_id = input;
425        self
426    }
427    /// <p>The unique identifier for the registration.</p>
428    pub fn get_registration_id(&self) -> &::std::option::Option<::std::string::String> {
429        &self.registration_id
430    }
431    /// Appends an item to `tags`.
432    ///
433    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
434    ///
435    /// <p>An array of key and value pair tags that are associated with the phone number.</p>
436    pub fn tags(mut self, input: crate::types::Tag) -> Self {
437        let mut v = self.tags.unwrap_or_default();
438        v.push(input);
439        self.tags = ::std::option::Option::Some(v);
440        self
441    }
442    /// <p>An array of key and value pair tags that are associated with the phone number.</p>
443    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
444        self.tags = input;
445        self
446    }
447    /// <p>An array of key and value pair tags that are associated with the phone number.</p>
448    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
449        &self.tags
450    }
451    /// <p>The time when the phone number was created, in <a href="https://www.epochconverter.com/">UNIX epoch time</a> format.</p>
452    pub fn created_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
453        self.created_timestamp = ::std::option::Option::Some(input);
454        self
455    }
456    /// <p>The time when the phone number was created, in <a href="https://www.epochconverter.com/">UNIX epoch time</a> format.</p>
457    pub fn set_created_timestamp(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
458        self.created_timestamp = input;
459        self
460    }
461    /// <p>The time when the phone number was created, in <a href="https://www.epochconverter.com/">UNIX epoch time</a> format.</p>
462    pub fn get_created_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
463        &self.created_timestamp
464    }
465    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
466        self._request_id = Some(request_id.into());
467        self
468    }
469
470    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
471        self._request_id = request_id;
472        self
473    }
474    /// Consumes the builder and constructs a [`RequestPhoneNumberOutput`](crate::operation::request_phone_number::RequestPhoneNumberOutput).
475    pub fn build(self) -> crate::operation::request_phone_number::RequestPhoneNumberOutput {
476        crate::operation::request_phone_number::RequestPhoneNumberOutput {
477            phone_number_arn: self.phone_number_arn,
478            phone_number_id: self.phone_number_id,
479            phone_number: self.phone_number,
480            status: self.status,
481            iso_country_code: self.iso_country_code,
482            message_type: self.message_type,
483            number_capabilities: self.number_capabilities,
484            number_type: self.number_type,
485            monthly_leasing_price: self.monthly_leasing_price,
486            two_way_enabled: self.two_way_enabled.unwrap_or_default(),
487            two_way_channel_arn: self.two_way_channel_arn,
488            two_way_channel_role: self.two_way_channel_role,
489            self_managed_opt_outs_enabled: self.self_managed_opt_outs_enabled.unwrap_or_default(),
490            opt_out_list_name: self.opt_out_list_name,
491            international_sending_enabled: self.international_sending_enabled.unwrap_or_default(),
492            deletion_protection_enabled: self.deletion_protection_enabled.unwrap_or_default(),
493            pool_id: self.pool_id,
494            registration_id: self.registration_id,
495            tags: self.tags,
496            created_timestamp: self.created_timestamp,
497            _request_id: self._request_id,
498        }
499    }
500}