// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateAlert`](crate::operation::create_alert::builders::CreateAlertFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`space_id(impl Into<String>)`](crate::operation::create_alert::builders::CreateAlertFluentBuilder::space_id) / [`set_space_id(Option<String>)`](crate::operation::create_alert::builders::CreateAlertFluentBuilder::set_space_id):<br>required: **true**<br>The unique ID of the space to create the alert in.<br>
/// - [`profile_id(impl Into<String>)`](crate::operation::create_alert::builders::CreateAlertFluentBuilder::profile_id) / [`set_profile_id(Option<String>)`](crate::operation::create_alert::builders::CreateAlertFluentBuilder::set_profile_id):<br>required: **true**<br>The ID of the access profile the alert uses to evaluate its query and execute notifications. The caller supplies it: there is no managed alert profile, and the service does not pick one on the caller's behalf.<br>
/// - [`name(impl Into<String>)`](crate::operation::create_alert::builders::CreateAlertFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_alert::builders::CreateAlertFluentBuilder::set_name):<br>required: **true**<br>Alert name, for display. Max 256 (the AlarmName budget). Not the alert's identity: the backend mints a separate uuid as the {@link AlertId}, so the name need not be unique within a space and addressing an alert never depends on it. UpdateAlert accepts a new name to rename the alert.<br>
/// - [`description(impl Into<String>)`](crate::operation::create_alert::builders::CreateAlertFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_alert::builders::CreateAlertFluentBuilder::set_description):<br>required: **false**<br>An optional description of the alert.<br>
/// - [`rule(Rule)`](crate::operation::create_alert::builders::CreateAlertFluentBuilder::rule) / [`set_rule(Option<Rule>)`](crate::operation::create_alert::builders::CreateAlertFluentBuilder::set_rule):<br>required: **true**<br>The rule that defines how the alert is evaluated.<br>
/// - [`notifications_enabled(bool)`](crate::operation::create_alert::builders::CreateAlertFluentBuilder::notifications_enabled) / [`set_notifications_enabled(Option<bool>)`](crate::operation::create_alert::builders::CreateAlertFluentBuilder::set_notifications_enabled):<br>required: **false**<br>Whether actions (notifications) are enabled for this alert. Defaults to true when omitted.<br>
/// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_alert::builders::CreateAlertFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_alert::builders::CreateAlertFluentBuilder::set_tags):<br>required: **false**<br>The tags to associate with the alert.<br>
/// - [`notification_rules(NotificationRule)`](crate::operation::create_alert::builders::CreateAlertFluentBuilder::notification_rules) / [`set_notification_rules(Option<Vec::<NotificationRule>>)`](crate::operation::create_alert::builders::CreateAlertFluentBuilder::set_notification_rules):<br>required: **false**<br>The notification rules that determine when and where notifications are sent.<br>
/// - [`client_token(impl Into<String>)`](crate::operation::create_alert::builders::CreateAlertFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_alert::builders::CreateAlertFluentBuilder::set_client_token):<br>required: **false**<br>Idempotency token for safe retries. Retrying with the same token within the idempotency window returns the original alert instead of creating a duplicate.<br>
/// - On success, responds with [`CreateAlertOutput`](crate::operation::create_alert::CreateAlertOutput) with field(s):
/// - [`alert_arn(Option<String>)`](crate::operation::create_alert::CreateAlertOutput::alert_arn): Deprecated. Use `alert.alertArn`, which carries the same value. Kept so an existing caller keeps working while it moves to `alert`.
/// - [`alert(Option<Alert>)`](crate::operation::create_alert::CreateAlertOutput::alert): The alert that was created. The same `Alert` shape GetAlert returns, so a caller need not read the alert back to learn its timestamps or its minted alert id. {@code alert.state} is absent here — see the `state` member of `Alert`. Every other member is populated exactly as GetAlert populates it.
/// - On failure, responds with [`SdkError<CreateAlertError>`](crate::operation::create_alert::CreateAlertError)
pub fn create_alert(&self) -> crate::operation::create_alert::builders::CreateAlertFluentBuilder {
crate::operation::create_alert::builders::CreateAlertFluentBuilder::new(self.handle.clone())
}
}