1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct UpdateNotifyConfigurationInput {
/// <p>The identifier of the notify configuration to update. The NotifyConfigurationId can be found using the <code>DescribeNotifyConfigurations</code> operation.</p>
pub notify_configuration_id: ::std::option::Option<::std::string::String>,
/// <p>The default template identifier to associate with the notify configuration. If specified, this template is used when sending messages without an explicit template identifier. Pass the special value <code>UNSET_DEFAULT_TEMPLATE</code> to clear the current default template from the notify configuration.</p>
pub default_template_id: ::std::option::Option<::std::string::String>,
/// <p>The pool identifier or Amazon Resource Name (ARN) to associate with the notify configuration. Pass the special value <code>UNSET_DEFAULT_POOL_FOR_NOTIFY</code> to clear the current default pool from the notify configuration.</p>
pub pool_id: ::std::option::Option<::std::string::String>,
/// <p>An array of two-character ISO country codes, in ISO 3166-1 alpha-2 format, that are enabled for the notify configuration.</p>
pub enabled_countries: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
/// <p>An array of channels to enable for the notify configuration. Supported values include <code>SMS</code> and <code>VOICE</code>.</p>
pub enabled_channels: ::std::option::Option<::std::vec::Vec<crate::types::NumberCapability>>,
/// <p>When set to true the notify configuration can't be deleted.</p>
pub deletion_protection_enabled: ::std::option::Option<bool>,
}
impl UpdateNotifyConfigurationInput {
/// <p>The identifier of the notify configuration to update. The NotifyConfigurationId can be found using the <code>DescribeNotifyConfigurations</code> operation.</p>
pub fn notify_configuration_id(&self) -> ::std::option::Option<&str> {
self.notify_configuration_id.as_deref()
}
/// <p>The default template identifier to associate with the notify configuration. If specified, this template is used when sending messages without an explicit template identifier. Pass the special value <code>UNSET_DEFAULT_TEMPLATE</code> to clear the current default template from the notify configuration.</p>
pub fn default_template_id(&self) -> ::std::option::Option<&str> {
self.default_template_id.as_deref()
}
/// <p>The pool identifier or Amazon Resource Name (ARN) to associate with the notify configuration. Pass the special value <code>UNSET_DEFAULT_POOL_FOR_NOTIFY</code> to clear the current default pool from the notify configuration.</p>
pub fn pool_id(&self) -> ::std::option::Option<&str> {
self.pool_id.as_deref()
}
/// <p>An array of two-character ISO country codes, in ISO 3166-1 alpha-2 format, that are enabled for the notify configuration.</p>
///
/// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.enabled_countries.is_none()`.
pub fn enabled_countries(&self) -> &[::std::string::String] {
self.enabled_countries.as_deref().unwrap_or_default()
}
/// <p>An array of channels to enable for the notify configuration. Supported values include <code>SMS</code> and <code>VOICE</code>.</p>
///
/// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.enabled_channels.is_none()`.
pub fn enabled_channels(&self) -> &[crate::types::NumberCapability] {
self.enabled_channels.as_deref().unwrap_or_default()
}
/// <p>When set to true the notify configuration can't be deleted.</p>
pub fn deletion_protection_enabled(&self) -> ::std::option::Option<bool> {
self.deletion_protection_enabled
}
}
impl UpdateNotifyConfigurationInput {
/// Creates a new builder-style object to manufacture [`UpdateNotifyConfigurationInput`](crate::operation::update_notify_configuration::UpdateNotifyConfigurationInput).
pub fn builder() -> crate::operation::update_notify_configuration::builders::UpdateNotifyConfigurationInputBuilder {
crate::operation::update_notify_configuration::builders::UpdateNotifyConfigurationInputBuilder::default()
}
}
/// A builder for [`UpdateNotifyConfigurationInput`](crate::operation::update_notify_configuration::UpdateNotifyConfigurationInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct UpdateNotifyConfigurationInputBuilder {
pub(crate) notify_configuration_id: ::std::option::Option<::std::string::String>,
pub(crate) default_template_id: ::std::option::Option<::std::string::String>,
pub(crate) pool_id: ::std::option::Option<::std::string::String>,
pub(crate) enabled_countries: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) enabled_channels: ::std::option::Option<::std::vec::Vec<crate::types::NumberCapability>>,
pub(crate) deletion_protection_enabled: ::std::option::Option<bool>,
}
impl UpdateNotifyConfigurationInputBuilder {
/// <p>The identifier of the notify configuration to update. The NotifyConfigurationId can be found using the <code>DescribeNotifyConfigurations</code> operation.</p>
/// This field is required.
pub fn notify_configuration_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.notify_configuration_id = ::std::option::Option::Some(input.into());
self
}
/// <p>The identifier of the notify configuration to update. The NotifyConfigurationId can be found using the <code>DescribeNotifyConfigurations</code> operation.</p>
pub fn set_notify_configuration_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.notify_configuration_id = input;
self
}
/// <p>The identifier of the notify configuration to update. The NotifyConfigurationId can be found using the <code>DescribeNotifyConfigurations</code> operation.</p>
pub fn get_notify_configuration_id(&self) -> &::std::option::Option<::std::string::String> {
&self.notify_configuration_id
}
/// <p>The default template identifier to associate with the notify configuration. If specified, this template is used when sending messages without an explicit template identifier. Pass the special value <code>UNSET_DEFAULT_TEMPLATE</code> to clear the current default template from the notify configuration.</p>
pub fn default_template_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.default_template_id = ::std::option::Option::Some(input.into());
self
}
/// <p>The default template identifier to associate with the notify configuration. If specified, this template is used when sending messages without an explicit template identifier. Pass the special value <code>UNSET_DEFAULT_TEMPLATE</code> to clear the current default template from the notify configuration.</p>
pub fn set_default_template_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.default_template_id = input;
self
}
/// <p>The default template identifier to associate with the notify configuration. If specified, this template is used when sending messages without an explicit template identifier. Pass the special value <code>UNSET_DEFAULT_TEMPLATE</code> to clear the current default template from the notify configuration.</p>
pub fn get_default_template_id(&self) -> &::std::option::Option<::std::string::String> {
&self.default_template_id
}
/// <p>The pool identifier or Amazon Resource Name (ARN) to associate with the notify configuration. Pass the special value <code>UNSET_DEFAULT_POOL_FOR_NOTIFY</code> to clear the current default pool from the notify configuration.</p>
pub fn pool_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.pool_id = ::std::option::Option::Some(input.into());
self
}
/// <p>The pool identifier or Amazon Resource Name (ARN) to associate with the notify configuration. Pass the special value <code>UNSET_DEFAULT_POOL_FOR_NOTIFY</code> to clear the current default pool from the notify configuration.</p>
pub fn set_pool_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.pool_id = input;
self
}
/// <p>The pool identifier or Amazon Resource Name (ARN) to associate with the notify configuration. Pass the special value <code>UNSET_DEFAULT_POOL_FOR_NOTIFY</code> to clear the current default pool from the notify configuration.</p>
pub fn get_pool_id(&self) -> &::std::option::Option<::std::string::String> {
&self.pool_id
}
/// Appends an item to `enabled_countries`.
///
/// To override the contents of this collection use [`set_enabled_countries`](Self::set_enabled_countries).
///
/// <p>An array of two-character ISO country codes, in ISO 3166-1 alpha-2 format, that are enabled for the notify configuration.</p>
pub fn enabled_countries(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.enabled_countries.unwrap_or_default();
v.push(input.into());
self.enabled_countries = ::std::option::Option::Some(v);
self
}
/// <p>An array of two-character ISO country codes, in ISO 3166-1 alpha-2 format, that are enabled for the notify configuration.</p>
pub fn set_enabled_countries(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.enabled_countries = input;
self
}
/// <p>An array of two-character ISO country codes, in ISO 3166-1 alpha-2 format, that are enabled for the notify configuration.</p>
pub fn get_enabled_countries(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.enabled_countries
}
/// Appends an item to `enabled_channels`.
///
/// To override the contents of this collection use [`set_enabled_channels`](Self::set_enabled_channels).
///
/// <p>An array of channels to enable for the notify configuration. Supported values include <code>SMS</code> and <code>VOICE</code>.</p>
pub fn enabled_channels(mut self, input: crate::types::NumberCapability) -> Self {
let mut v = self.enabled_channels.unwrap_or_default();
v.push(input);
self.enabled_channels = ::std::option::Option::Some(v);
self
}
/// <p>An array of channels to enable for the notify configuration. Supported values include <code>SMS</code> and <code>VOICE</code>.</p>
pub fn set_enabled_channels(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::NumberCapability>>) -> Self {
self.enabled_channels = input;
self
}
/// <p>An array of channels to enable for the notify configuration. Supported values include <code>SMS</code> and <code>VOICE</code>.</p>
pub fn get_enabled_channels(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::NumberCapability>> {
&self.enabled_channels
}
/// <p>When set to true the notify configuration can't be deleted.</p>
pub fn deletion_protection_enabled(mut self, input: bool) -> Self {
self.deletion_protection_enabled = ::std::option::Option::Some(input);
self
}
/// <p>When set to true the notify configuration can't be deleted.</p>
pub fn set_deletion_protection_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
self.deletion_protection_enabled = input;
self
}
/// <p>When set to true the notify configuration can't be deleted.</p>
pub fn get_deletion_protection_enabled(&self) -> &::std::option::Option<bool> {
&self.deletion_protection_enabled
}
/// Consumes the builder and constructs a [`UpdateNotifyConfigurationInput`](crate::operation::update_notify_configuration::UpdateNotifyConfigurationInput).
pub fn build(
self,
) -> ::std::result::Result<
crate::operation::update_notify_configuration::UpdateNotifyConfigurationInput,
::aws_smithy_types::error::operation::BuildError,
> {
::std::result::Result::Ok(crate::operation::update_notify_configuration::UpdateNotifyConfigurationInput {
notify_configuration_id: self.notify_configuration_id,
default_template_id: self.default_template_id,
pool_id: self.pool_id,
enabled_countries: self.enabled_countries,
enabled_channels: self.enabled_channels,
deletion_protection_enabled: self.deletion_protection_enabled,
})
}
}