// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateWhatsAppFlow`](crate::operation::create_whats_app_flow::builders::CreateWhatsAppFlowFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`id(impl Into<String>)`](crate::operation::create_whats_app_flow::builders::CreateWhatsAppFlowFluentBuilder::id) / [`set_id(Option<String>)`](crate::operation::create_whats_app_flow::builders::CreateWhatsAppFlowFluentBuilder::set_id):<br>required: **true**<br><p>The ID of the WhatsApp Business Account to associate with this Flow.</p><br>
/// - [`flow_name(impl Into<String>)`](crate::operation::create_whats_app_flow::builders::CreateWhatsAppFlowFluentBuilder::flow_name) / [`set_flow_name(Option<String>)`](crate::operation::create_whats_app_flow::builders::CreateWhatsAppFlowFluentBuilder::set_flow_name):<br>required: **true**<br><p>The name of the Flow. Must be unique within the WhatsApp Business Account.</p><br>
/// - [`categories(MetaFlowCategory)`](crate::operation::create_whats_app_flow::builders::CreateWhatsAppFlowFluentBuilder::categories) / [`set_categories(Option<Vec::<MetaFlowCategory>>)`](crate::operation::create_whats_app_flow::builders::CreateWhatsAppFlowFluentBuilder::set_categories):<br>required: **true**<br><p>The categories that classify the business purpose of the Flow. At least one category is required.</p><br>
/// - [`flow_json(Blob)`](crate::operation::create_whats_app_flow::builders::CreateWhatsAppFlowFluentBuilder::flow_json) / [`set_flow_json(Option<Blob>)`](crate::operation::create_whats_app_flow::builders::CreateWhatsAppFlowFluentBuilder::set_flow_json):<br>required: **false**<br><p>The Flow JSON definition that describes the screens, components, and logic of the Flow. Maximum size is 10 MB.</p><br>
/// - [`publish(bool)`](crate::operation::create_whats_app_flow::builders::CreateWhatsAppFlowFluentBuilder::publish) / [`set_publish(Option<bool>)`](crate::operation::create_whats_app_flow::builders::CreateWhatsAppFlowFluentBuilder::set_publish):<br>required: **false**<br><p>Set to <code>true</code> to publish the Flow immediately after creation. Requires a valid <code>flowJson</code> that passes Meta's validation.</p><br>
/// - [`clone_flow_id(impl Into<String>)`](crate::operation::create_whats_app_flow::builders::CreateWhatsAppFlowFluentBuilder::clone_flow_id) / [`set_clone_flow_id(Option<String>)`](crate::operation::create_whats_app_flow::builders::CreateWhatsAppFlowFluentBuilder::set_clone_flow_id):<br>required: **false**<br><p>The ID of an existing Flow within the same WhatsApp Business Account to clone.</p><br>
/// - [`endpoint_uri(impl Into<String>)`](crate::operation::create_whats_app_flow::builders::CreateWhatsAppFlowFluentBuilder::endpoint_uri) / [`set_endpoint_uri(Option<String>)`](crate::operation::create_whats_app_flow::builders::CreateWhatsAppFlowFluentBuilder::set_endpoint_uri):<br>required: **false**<br><p>The HTTPS endpoint that Meta calls for a data exchange Flow.</p><br>
/// - On success, responds with [`CreateWhatsAppFlowOutput`](crate::operation::create_whats_app_flow::CreateWhatsAppFlowOutput) with field(s):
/// - [`flow_id(Option<String>)`](crate::operation::create_whats_app_flow::CreateWhatsAppFlowOutput::flow_id): <p>The unique identifier assigned to the Flow by Meta.</p>
/// - [`validation_errors(Option<Vec::<String>>)`](crate::operation::create_whats_app_flow::CreateWhatsAppFlowOutput::validation_errors): <p>A list of validation errors returned by Meta, if any. Validation errors must be resolved before the Flow can be published.</p>
/// - On failure, responds with [`SdkError<CreateWhatsAppFlowError>`](crate::operation::create_whats_app_flow::CreateWhatsAppFlowError)
pub fn create_whats_app_flow(&self) -> crate::operation::create_whats_app_flow::builders::CreateWhatsAppFlowFluentBuilder {
crate::operation::create_whats_app_flow::builders::CreateWhatsAppFlowFluentBuilder::new(self.handle.clone())
}
}