// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateSubscriber`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`name(impl Into<String>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::set_name):<br>required: **true**<br>Name of a subscriber. The first character must be alphanumeric; the remaining characters may also include '.', '-', and '_'.<br>
/// - [`event_bus_arn(impl Into<String>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::event_bus_arn) / [`set_event_bus_arn(Option<String>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::set_event_bus_arn):<br>required: **true**<br>The Amazon Resource Name (ARN) that uniquely identifies an event bus.<br>
/// - [`invoke_configuration(InvokeConfiguration)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::invoke_configuration) / [`set_invoke_configuration(Option<InvokeConfiguration>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::set_invoke_configuration):<br>required: **true**<br>Configuration for how the subscriber invokes its target.<br>
/// - [`description(impl Into<String>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::set_description):<br>required: **false**<br>Free-text description. Used by every resource type that has one: event buses, subscribers, and event sources.<br>
/// - [`filter_configuration(FilterConfiguration)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::filter_configuration) / [`set_filter_configuration(Option<FilterConfiguration>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::set_filter_configuration):<br>required: **false**<br>Configuration for filtering events delivered to a subscriber. On CreateSubscriber, Filters is required and must contain at least one Filter with a non-empty Pattern. On UpdateSubscriber, an empty `FilterConfiguration:{}` clears the existing filter. Any non-empty shape (including `{Language:X}` without Filters) must contain a valid Filters list — same contract as CreateSubscriber. A non-empty Filters list overwrites; an omitted FilterConfiguration preserves existing state. All Filters are implicitly ANDed — an event must match every Filter to be delivered.<br>
/// - [`r#type(OrderingType)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::type) / [`set_type(Option<OrderingType>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::set_type):<br>required: **false**<br>Delivery ordering mode of a subscriber: FIFO delivers events in order within an event group; UNORDERED delivers without an ordering guarantee.<br>
/// - [`starting_position(StartingPosition)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::starting_position) / [`set_starting_position(Option<StartingPosition>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::set_starting_position):<br>required: **false**<br>Starting position for a subscriber.<br>
/// - [`point_in_time_configuration(PointInTimeConfiguration)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::point_in_time_configuration) / [`set_point_in_time_configuration(Option<PointInTimeConfiguration>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::set_point_in_time_configuration):<br>required: **false**<br>Point-in-time configuration for a subscriber. Only applicable when StartingPosition is POINT_IN_TIME.<br>
/// - [`batch_configuration(BatchConfiguration)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::batch_configuration) / [`set_batch_configuration(Option<BatchConfiguration>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::set_batch_configuration):<br>required: **false**<br>Batching configuration for a subscriber.<br>
/// - [`transformer(Transformer)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::transformer) / [`set_transformer(Option<Transformer>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::set_transformer):<br>required: **false**<br>Not applicable to universal (aws-sdk) targets, whose input transformation is UniversalTargetParameters.Input; a Transformer on such a target is rejected.<br>
/// - [`retry_policy(RetryPolicy)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::retry_policy) / [`set_retry_policy(Option<RetryPolicy>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::set_retry_policy):<br>required: **false**<br>Retry policy for a subscriber.<br>
/// - [`on_failure_configuration(OnFailureConfiguration)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::on_failure_configuration) / [`set_on_failure_configuration(Option<OnFailureConfiguration>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::set_on_failure_configuration):<br>required: **false**<br>On-failure configuration: where a failed delivery is sent. Shared by the subscriber and the EventSource.<br>
/// - [`log_configuration(LogConfiguration)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::log_configuration) / [`set_log_configuration(Option<LogConfiguration>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::set_log_configuration):<br>required: **false**<br>Log configuration for a subscriber.<br>
/// - [`state(SubscriberState)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::state) / [`set_state(Option<SubscriberState>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::set_state):<br>required: **false**<br>Customer-controlled run state of a subscriber, set on create or update. Distinct from the bus lifecycle vocabulary, where ACTIVE means "provisioned and healthy". Delivery requires State RUNNING on a subscriber that is not revoked.<br>
/// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::set_tags):<br>required: **false**<br>Tags attached to a resource, as key-value pairs.<br>
/// - [`client_token(impl Into<String>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::set_client_token):<br>required: **false**<br>Unique, case-sensitive identifier that ensures the idempotency of the request. The SDK generates one automatically when the field is omitted.<br>
/// - On success, responds with [`CreateSubscriberOutput`](crate::operation::create_subscriber::CreateSubscriberOutput) with field(s):
/// - [`subscriber_arn(Option<String>)`](crate::operation::create_subscriber::CreateSubscriberOutput::subscriber_arn): The Amazon Resource Name (ARN) that uniquely identifies a subscriber.
/// - [`name(Option<String>)`](crate::operation::create_subscriber::CreateSubscriberOutput::name): Name of a subscriber. The first character must be alphanumeric; the remaining characters may also include '.', '-', and '_'.
/// - [`event_bus_arn(Option<String>)`](crate::operation::create_subscriber::CreateSubscriberOutput::event_bus_arn): The Amazon Resource Name (ARN) that uniquely identifies an event bus.
/// - [`r#type(Option<OrderingType>)`](crate::operation::create_subscriber::CreateSubscriberOutput::type): Delivery ordering mode of a subscriber: FIFO delivers events in order within an event group; UNORDERED delivers without an ordering guarantee.
/// - [`starting_position(Option<StartingPosition>)`](crate::operation::create_subscriber::CreateSubscriberOutput::starting_position): Starting position for a subscriber.
/// - [`point_in_time_configuration(Option<PointInTimeConfiguration>)`](crate::operation::create_subscriber::CreateSubscriberOutput::point_in_time_configuration): Point-in-time configuration for a subscriber. Only applicable when StartingPosition is POINT_IN_TIME.
/// - [`state(Option<SubscriberState>)`](crate::operation::create_subscriber::CreateSubscriberOutput::state): Customer-controlled run state of a subscriber, set on create or update. Distinct from the bus lifecycle vocabulary, where ACTIVE means "provisioned and healthy". Delivery requires State RUNNING on a subscriber that is not revoked.
/// - [`creation_time(Option<DateTime>)`](crate::operation::create_subscriber::CreateSubscriberOutput::creation_time): The time the subscriber was created.
/// - On failure, responds with [`SdkError<CreateSubscriberError>`](crate::operation::create_subscriber::CreateSubscriberError)
pub fn create_subscriber(&self) -> crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder {
crate::operation::create_subscriber::builders::CreateSubscriberFluentBuilder::new(self.handle.clone())
}
}