// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`SendRcsMessage`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`destination_phone_number(impl Into<String>)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::destination_phone_number) / [`set_destination_phone_number(Option<String>)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::set_destination_phone_number):<br>required: **true**<br><p>The destination phone number in E.164 format.</p><br>
/// - [`origination_identity(impl Into<String>)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::origination_identity) / [`set_origination_identity(Option<String>)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::set_origination_identity):<br>required: **true**<br><p>The origination identity of the message. This can be either the RcsAgentId, RcsAgentArn, PoolId, or PoolArn.</p><br>
/// - [`rcs_message_content(RcsMessageContent)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::rcs_message_content) / [`set_rcs_message_content(Option<RcsMessageContent>)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::set_rcs_message_content):<br>required: **false**<br><p>The content of the RCS message. Contains the message content (text, file, rich card, or carousel) and optional message-level suggested actions.</p><br>
/// - [`time_to_live(i32)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::time_to_live) / [`set_time_to_live(Option<i32>)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::set_time_to_live):<br>required: **false**<br><p>The duration in seconds that the RCS message is valid for delivery. If the message cannot be delivered within this duration, it is considered expired. Valid values are 1 to 172800 (48 hours). If a FallbackConfiguration is provided, the fallback is triggered when the duration expires without delivery confirmation.</p><br>
/// - [`message_traffic_type(impl Into<String>)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::message_traffic_type) / [`set_message_traffic_type(Option<String>)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::set_message_traffic_type):<br>required: **false**<br><p>The traffic type of the RCS message. Valid values are AUTHENTICATION, TRANSACTION, PROMOTION, SERVICE_REQUEST, and ACKNOWLEDGEMENT. This field is reserved for future use.</p><br>
/// - [`fallback_configuration(RcsFallbackConfiguration)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::fallback_configuration) / [`set_fallback_configuration(Option<RcsFallbackConfiguration>)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::set_fallback_configuration):<br>required: **false**<br><p>Configuration for SMS or MMS fallback when RCS delivery fails. If provided, the service sends a fallback message via the specified channel when the RCS message fails or the TimeToLive expires.</p><br>
/// - [`protect_configuration_id(impl Into<String>)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::protect_configuration_id) / [`set_protect_configuration_id(Option<String>)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::set_protect_configuration_id):<br>required: **false**<br><p>The unique identifier of the protect configuration to use.</p><br>
/// - [`configuration_set_name(impl Into<String>)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::configuration_set_name) / [`set_configuration_set_name(Option<String>)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::set_configuration_set_name):<br>required: **false**<br><p>The name of the configuration set to use. This can be either the ConfigurationSetName or ConfigurationSetArn.</p><br>
/// - [`max_price(impl Into<String>)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::max_price) / [`set_max_price(Option<String>)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::set_max_price):<br>required: **false**<br><p>The maximum amount that you want to spend, in US dollars, per each RCS message.</p><br>
/// - [`dry_run(bool)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::dry_run) / [`set_dry_run(Option<bool>)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::set_dry_run):<br>required: **false**<br><p>When set to true, the message is checked and validated, but isn't sent to the end recipient.</p><br>
/// - [`context(impl Into<String>, impl Into<String>)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::context) / [`set_context(Option<HashMap::<String, String>>)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::set_context):<br>required: **false**<br><p>You can specify custom data in this field. If you do, that data is logged to the event destination.</p><br>
/// - [`message_feedback_enabled(bool)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::message_feedback_enabled) / [`set_message_feedback_enabled(Option<bool>)`](crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::set_message_feedback_enabled):<br>required: **false**<br><p>Set to true to enable message feedback for the message. When a user receives the message you need to update the message status using <code>PutMessageFeedback</code>.</p><br>
/// - On success, responds with [`SendRcsMessageOutput`](crate::operation::send_rcs_message::SendRcsMessageOutput) with field(s):
/// - [`message_id(Option<String>)`](crate::operation::send_rcs_message::SendRcsMessageOutput::message_id): <p>The unique identifier for the message.</p>
/// - On failure, responds with [`SdkError<SendRcsMessageError>`](crate::operation::send_rcs_message::SendRcsMessageError)
pub fn send_rcs_message(&self) -> crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder {
crate::operation::send_rcs_message::builders::SendRcsMessageFluentBuilder::new(self.handle.clone())
}
}