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.
pub use crate::operation::list_available_phone_numbers::_list_available_phone_numbers_input::ListAvailablePhoneNumbersInputBuilder;

pub use crate::operation::list_available_phone_numbers::_list_available_phone_numbers_output::ListAvailablePhoneNumbersOutputBuilder;

impl crate::operation::list_available_phone_numbers::builders::ListAvailablePhoneNumbersInputBuilder {
    /// Sends a request with this input using the given client.
    pub async fn send_with(
        self,
        client: &crate::Client,
    ) -> ::std::result::Result<
        crate::operation::list_available_phone_numbers::ListAvailablePhoneNumbersOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::list_available_phone_numbers::ListAvailablePhoneNumbersError,
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
        >,
    > {
        let mut fluent_builder = client.list_available_phone_numbers();
        fluent_builder.inner = self;
        fluent_builder.send().await
    }
}
/// Fluent builder constructing a request to `ListAvailablePhoneNumbers`.
///
/// Search available phone numbers from aggregator inventory, optionally filtered by pattern. If NumberPreference is omitted, returns unfiltered available numbers. Returns empty list (not an exception) when no numbers match. ResourceNotFoundException is thrown only for invalid RegistrationId (campaign not found).
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
pub struct ListAvailablePhoneNumbersFluentBuilder {
    handle: ::std::sync::Arc<crate::client::Handle>,
    inner: crate::operation::list_available_phone_numbers::builders::ListAvailablePhoneNumbersInputBuilder,
    config_override: ::std::option::Option<crate::config::Builder>,
}
impl
    crate::client::customize::internal::CustomizableSend<
        crate::operation::list_available_phone_numbers::ListAvailablePhoneNumbersOutput,
        crate::operation::list_available_phone_numbers::ListAvailablePhoneNumbersError,
    > for ListAvailablePhoneNumbersFluentBuilder
{
    fn send(
        self,
        config_override: crate::config::Builder,
    ) -> crate::client::customize::internal::BoxFuture<
        crate::client::customize::internal::SendResult<
            crate::operation::list_available_phone_numbers::ListAvailablePhoneNumbersOutput,
            crate::operation::list_available_phone_numbers::ListAvailablePhoneNumbersError,
        >,
    > {
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
    }
}
impl ListAvailablePhoneNumbersFluentBuilder {
    /// Creates a new `ListAvailablePhoneNumbersFluentBuilder`.
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
        Self {
            handle,
            inner: ::std::default::Default::default(),
            config_override: ::std::option::Option::None,
        }
    }
    /// Access the ListAvailablePhoneNumbers as a reference.
    pub fn as_input(&self) -> &crate::operation::list_available_phone_numbers::builders::ListAvailablePhoneNumbersInputBuilder {
        &self.inner
    }
    /// Sends the request and returns the response.
    ///
    /// If an error occurs, an `SdkError` will be returned with additional details that
    /// can be matched against.
    ///
    /// By default, any retryable failures will be retried twice. Retry behavior
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
    /// set when configuring the client.
    pub async fn send(
        self,
    ) -> ::std::result::Result<
        crate::operation::list_available_phone_numbers::ListAvailablePhoneNumbersOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::list_available_phone_numbers::ListAvailablePhoneNumbersError,
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
        >,
    > {
        let input = self
            .inner
            .build()
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
        let runtime_plugins = crate::operation::list_available_phone_numbers::ListAvailablePhoneNumbers::operation_runtime_plugins(
            self.handle.runtime_plugins.clone(),
            &self.handle.conf,
            self.config_override,
        );
        crate::operation::list_available_phone_numbers::ListAvailablePhoneNumbers::orchestrate(&runtime_plugins, input).await
    }

    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
    pub fn customize(
        self,
    ) -> crate::client::customize::CustomizableOperation<
        crate::operation::list_available_phone_numbers::ListAvailablePhoneNumbersOutput,
        crate::operation::list_available_phone_numbers::ListAvailablePhoneNumbersError,
        Self,
    > {
        crate::client::customize::CustomizableOperation::new(self)
    }
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
        self.set_config_override(::std::option::Option::Some(config_override.into()));
        self
    }

    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
        self.config_override = config_override;
        self
    }
    /// Create a paginator for this request
    ///
    /// Paginators are used by calling [`send().await`](crate::operation::list_available_phone_numbers::paginator::ListAvailablePhoneNumbersPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream).
    pub fn into_paginator(self) -> crate::operation::list_available_phone_numbers::paginator::ListAvailablePhoneNumbersPaginator {
        crate::operation::list_available_phone_numbers::paginator::ListAvailablePhoneNumbersPaginator::new(self.handle, self.inner)
    }
    /// <p>The two-character code, in ISO 3166-1 alpha-2 format, for the country or region in which to search for available phone numbers. This operation currently supports only <code>US</code>.</p>
    pub fn iso_country_code(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.iso_country_code(input.into());
        self
    }
    /// <p>The two-character code, in ISO 3166-1 alpha-2 format, for the country or region in which to search for available phone numbers. This operation currently supports only <code>US</code>.</p>
    pub fn set_iso_country_code(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_iso_country_code(input);
        self
    }
    /// <p>The two-character code, in ISO 3166-1 alpha-2 format, for the country or region in which to search for available phone numbers. This operation currently supports only <code>US</code>.</p>
    pub fn get_iso_country_code(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_iso_country_code()
    }
    ///
    /// Appends an item to `NumberCapabilities`.
    ///
    /// To override the contents of this collection use [`set_number_capabilities`](Self::set_number_capabilities).
    ///
    /// <p>The capabilities to filter by, such as SMS. Only phone numbers that support all of the specified capabilities are returned.</p>
    pub fn number_capabilities(mut self, input: crate::types::NumberCapability) -> Self {
        self.inner = self.inner.number_capabilities(input);
        self
    }
    /// <p>The capabilities to filter by, such as SMS. Only phone numbers that support all of the specified capabilities are returned.</p>
    pub fn set_number_capabilities(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::NumberCapability>>) -> Self {
        self.inner = self.inner.set_number_capabilities(input);
        self
    }
    /// <p>The capabilities to filter by, such as SMS. Only phone numbers that support all of the specified capabilities are returned.</p>
    pub fn get_number_capabilities(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::NumberCapability>> {
        self.inner.get_number_capabilities()
    }
    /// <p>The type of phone number to search for.</p>
    pub fn number_type(mut self, input: crate::types::SearchableNumberType) -> Self {
        self.inner = self.inner.number_type(input);
        self
    }
    /// <p>The type of phone number to search for.</p>
    pub fn set_number_type(mut self, input: ::std::option::Option<crate::types::SearchableNumberType>) -> Self {
        self.inner = self.inner.set_number_type(input);
        self
    }
    /// <p>The type of phone number to search for.</p>
    pub fn get_number_type(&self) -> &::std::option::Option<crate::types::SearchableNumberType> {
        self.inner.get_number_type()
    }
    /// <p>The registration associated with the request. A registration is required for regulated number types. You can specify either:</p>
    /// <ul>
    /// <li>
    /// <p>The unique identifier of the registration.</p></li>
    /// <li>
    /// <p>The Amazon Resource Name (ARN) of the registration.</p></li>
    /// </ul>
    pub fn registration_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.registration_id(input.into());
        self
    }
    /// <p>The registration associated with the request. A registration is required for regulated number types. You can specify either:</p>
    /// <ul>
    /// <li>
    /// <p>The unique identifier of the registration.</p></li>
    /// <li>
    /// <p>The Amazon Resource Name (ARN) of the registration.</p></li>
    /// </ul>
    pub fn set_registration_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_registration_id(input);
        self
    }
    /// <p>The registration associated with the request. A registration is required for regulated number types. You can specify either:</p>
    /// <ul>
    /// <li>
    /// <p>The unique identifier of the registration.</p></li>
    /// <li>
    /// <p>The Amazon Resource Name (ARN) of the registration.</p></li>
    /// </ul>
    pub fn get_registration_id(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_registration_id()
    }
    ///
    /// Appends an item to `NumberPreference`.
    ///
    /// To override the contents of this collection use [`set_number_preference`](Self::set_number_preference).
    ///
    /// Optional. If omitted, returns unfiltered available numbers. Max 1 element for List API.
    pub fn number_preference(mut self, input: crate::types::NumberPreferenceItem) -> Self {
        self.inner = self.inner.number_preference(input);
        self
    }
    /// Optional. If omitted, returns unfiltered available numbers. Max 1 element for List API.
    pub fn set_number_preference(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::NumberPreferenceItem>>) -> Self {
        self.inner = self.inner.set_number_preference(input);
        self
    }
    /// Optional. If omitted, returns unfiltered available numbers. Max 1 element for List API.
    pub fn get_number_preference(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::NumberPreferenceItem>> {
        self.inner.get_number_preference()
    }
    /// <p>The token returned from a previous request to retrieve the next page of results.</p>
    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.next_token(input.into());
        self
    }
    /// <p>The token returned from a previous request to retrieve the next page of results.</p>
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_next_token(input);
        self
    }
    /// <p>The token returned from a previous request to retrieve the next page of results.</p>
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_next_token()
    }
    /// <p>The maximum number of results to return per page. If you don't specify a value, the default is 10.</p>
    pub fn max_results(mut self, input: i32) -> Self {
        self.inner = self.inner.max_results(input);
        self
    }
    /// <p>The maximum number of results to return per page. If you don't specify a value, the default is 10.</p>
    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
        self.inner = self.inner.set_max_results(input);
        self
    }
    /// <p>The maximum number of results to return per page. If you don't specify a value, the default is 10.</p>
    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
        self.inner.get_max_results()
    }
}