aws-sdk-pinpointsmsvoicev2 1.124.0

AWS SDK for Amazon Pinpoint SMS Voice V2
Documentation
// 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 CreateNotifyConfigurationInput {
    /// <p>The display name to associate with the notify configuration.</p>
    pub display_name: ::std::option::Option<::std::string::String>,
    /// <p>The use case for the notify configuration.</p>
    pub use_case: ::std::option::Option<crate::types::NotifyConfigurationUseCase>,
    /// <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.</p>
    pub default_template_id: ::std::option::Option<::std::string::String>,
    /// <p>The identifier of the pool to associate with 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>By default this is set to false. When set to true the notify configuration can't be deleted. You can change this value using the <code>UpdateNotifyConfiguration</code> action.</p>
    pub deletion_protection_enabled: ::std::option::Option<bool>,
    /// <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency.</p>
    pub client_token: ::std::option::Option<::std::string::String>,
    /// <p>An array of tags (key and value pairs) associated with the notify configuration.</p>
    pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
}
impl CreateNotifyConfigurationInput {
    /// <p>The display name to associate with the notify configuration.</p>
    pub fn display_name(&self) -> ::std::option::Option<&str> {
        self.display_name.as_deref()
    }
    /// <p>The use case for the notify configuration.</p>
    pub fn use_case(&self) -> ::std::option::Option<&crate::types::NotifyConfigurationUseCase> {
        self.use_case.as_ref()
    }
    /// <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.</p>
    pub fn default_template_id(&self) -> ::std::option::Option<&str> {
        self.default_template_id.as_deref()
    }
    /// <p>The identifier of the pool to associate with 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>By default this is set to false. When set to true the notify configuration can't be deleted. You can change this value using the <code>UpdateNotifyConfiguration</code> action.</p>
    pub fn deletion_protection_enabled(&self) -> ::std::option::Option<bool> {
        self.deletion_protection_enabled
    }
    /// <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency.</p>
    pub fn client_token(&self) -> ::std::option::Option<&str> {
        self.client_token.as_deref()
    }
    /// <p>An array of tags (key and value pairs) associated with 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 `.tags.is_none()`.
    pub fn tags(&self) -> &[crate::types::Tag] {
        self.tags.as_deref().unwrap_or_default()
    }
}
impl CreateNotifyConfigurationInput {
    /// Creates a new builder-style object to manufacture [`CreateNotifyConfigurationInput`](crate::operation::create_notify_configuration::CreateNotifyConfigurationInput).
    pub fn builder() -> crate::operation::create_notify_configuration::builders::CreateNotifyConfigurationInputBuilder {
        crate::operation::create_notify_configuration::builders::CreateNotifyConfigurationInputBuilder::default()
    }
}

/// A builder for [`CreateNotifyConfigurationInput`](crate::operation::create_notify_configuration::CreateNotifyConfigurationInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct CreateNotifyConfigurationInputBuilder {
    pub(crate) display_name: ::std::option::Option<::std::string::String>,
    pub(crate) use_case: ::std::option::Option<crate::types::NotifyConfigurationUseCase>,
    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>,
    pub(crate) client_token: ::std::option::Option<::std::string::String>,
    pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
}
impl CreateNotifyConfigurationInputBuilder {
    /// <p>The display name to associate with the notify configuration.</p>
    /// This field is required.
    pub fn display_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.display_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The display name to associate with the notify configuration.</p>
    pub fn set_display_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.display_name = input;
        self
    }
    /// <p>The display name to associate with the notify configuration.</p>
    pub fn get_display_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.display_name
    }
    /// <p>The use case for the notify configuration.</p>
    /// This field is required.
    pub fn use_case(mut self, input: crate::types::NotifyConfigurationUseCase) -> Self {
        self.use_case = ::std::option::Option::Some(input);
        self
    }
    /// <p>The use case for the notify configuration.</p>
    pub fn set_use_case(mut self, input: ::std::option::Option<crate::types::NotifyConfigurationUseCase>) -> Self {
        self.use_case = input;
        self
    }
    /// <p>The use case for the notify configuration.</p>
    pub fn get_use_case(&self) -> &::std::option::Option<crate::types::NotifyConfigurationUseCase> {
        &self.use_case
    }
    /// <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.</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.</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.</p>
    pub fn get_default_template_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.default_template_id
    }
    /// <p>The identifier of the pool to associate with 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 identifier of the pool to associate with 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 identifier of the pool to associate with 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>By default this is set to false. When set to true the notify configuration can't be deleted. You can change this value using the <code>UpdateNotifyConfiguration</code> action.</p>
    pub fn deletion_protection_enabled(mut self, input: bool) -> Self {
        self.deletion_protection_enabled = ::std::option::Option::Some(input);
        self
    }
    /// <p>By default this is set to false. When set to true the notify configuration can't be deleted. You can change this value using the <code>UpdateNotifyConfiguration</code> action.</p>
    pub fn set_deletion_protection_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
        self.deletion_protection_enabled = input;
        self
    }
    /// <p>By default this is set to false. When set to true the notify configuration can't be deleted. You can change this value using the <code>UpdateNotifyConfiguration</code> action.</p>
    pub fn get_deletion_protection_enabled(&self) -> &::std::option::Option<bool> {
        &self.deletion_protection_enabled
    }
    /// <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency.</p>
    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.client_token = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency.</p>
    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.client_token = input;
        self
    }
    /// <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency.</p>
    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
        &self.client_token
    }
    /// Appends an item to `tags`.
    ///
    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
    ///
    /// <p>An array of tags (key and value pairs) associated with the notify configuration.</p>
    pub fn tags(mut self, input: crate::types::Tag) -> Self {
        let mut v = self.tags.unwrap_or_default();
        v.push(input);
        self.tags = ::std::option::Option::Some(v);
        self
    }
    /// <p>An array of tags (key and value pairs) associated with the notify configuration.</p>
    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
        self.tags = input;
        self
    }
    /// <p>An array of tags (key and value pairs) associated with the notify configuration.</p>
    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
        &self.tags
    }
    /// Consumes the builder and constructs a [`CreateNotifyConfigurationInput`](crate::operation::create_notify_configuration::CreateNotifyConfigurationInput).
    pub fn build(
        self,
    ) -> ::std::result::Result<
        crate::operation::create_notify_configuration::CreateNotifyConfigurationInput,
        ::aws_smithy_types::error::operation::BuildError,
    > {
        ::std::result::Result::Ok(crate::operation::create_notify_configuration::CreateNotifyConfigurationInput {
            display_name: self.display_name,
            use_case: self.use_case,
            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,
            client_token: self.client_token,
            tags: self.tags,
        })
    }
}