// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateEventSource`](crate::operation::create_event_source::builders::CreateEventSourceFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`name(impl Into<String>)`](crate::operation::create_event_source::builders::CreateEventSourceFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_event_source::builders::CreateEventSourceFluentBuilder::set_name):<br>required: **true**<br>EventSource name. First character alphanumeric; the rest may add '.', '-', '_'. Names may not begin with the reserved "aws." prefix. The grammar matches the ARN local-name segment in EventSourceArn (event-sourcev2/<type> / <name> / <id> ), mirroring EventBusName, so a name the ARN cannot represent cannot be created. </id> </name> </type><br>
/// - [`event_bus_arn(impl Into<String>)`](crate::operation::create_event_source::builders::CreateEventSourceFluentBuilder::event_bus_arn) / [`set_event_bus_arn(Option<String>)`](crate::operation::create_event_source::builders::CreateEventSourceFluentBuilder::set_event_bus_arn):<br>required: **true**<br>The Amazon Resource Name (ARN) that uniquely identifies an event bus.<br>
/// - [`configuration(EventSourceConfiguration)`](crate::operation::create_event_source::builders::CreateEventSourceFluentBuilder::configuration) / [`set_configuration(Option<EventSourceConfiguration>)`](crate::operation::create_event_source::builders::CreateEventSourceFluentBuilder::set_configuration):<br>required: **true**<br>Discriminated EventSource configuration. Exactly one variant must be set.<br>
/// - [`description(impl Into<String>)`](crate::operation::create_event_source::builders::CreateEventSourceFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_event_source::builders::CreateEventSourceFluentBuilder::set_description):<br>required: **false**<br>Free-text description. Used by every resource type that has one: event buses, subscribers, and event sources.<br>
/// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_event_source::builders::CreateEventSourceFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_event_source::builders::CreateEventSourceFluentBuilder::set_tags):<br>required: **false**<br>Tags attached to a resource, as key-value pairs.<br>
/// - [`client_token(impl Into<String>)`](crate::operation::create_event_source::builders::CreateEventSourceFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_event_source::builders::CreateEventSourceFluentBuilder::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 [`CreateEventSourceOutput`](crate::operation::create_event_source::CreateEventSourceOutput) with field(s):
/// - [`event_source_arn(Option<String>)`](crate::operation::create_event_source::CreateEventSourceOutput::event_source_arn): EventSource ARN: event-sourcev2/<type> / <name> / <id> . The type segment is set by the service (aws.service for AWS service events, aws.partner for partner events) and is not part of the resource's name. The id segment is a 25-character identifier generated by the service. </id> </name> </type>
/// - [`name(Option<String>)`](crate::operation::create_event_source::CreateEventSourceOutput::name): EventSource name. First character alphanumeric; the rest may add '.', '-', '_'. Names may not begin with the reserved "aws." prefix. The grammar matches the ARN local-name segment in EventSourceArn (event-sourcev2/<type> / <name> / <id> ), mirroring EventBusName, so a name the ARN cannot represent cannot be created. </id> </name> </type>
/// - [`event_bus_arn(Option<String>)`](crate::operation::create_event_source::CreateEventSourceOutput::event_bus_arn): The Amazon Resource Name (ARN) that uniquely identifies an event bus.
/// - [`state(Option<EventSourceState>)`](crate::operation::create_event_source::CreateEventSourceOutput::state): Lifecycle state of an EventSource. Revocation is reported by the Revoked flag.
/// - [`creation_time(Option<DateTime>)`](crate::operation::create_event_source::CreateEventSourceOutput::creation_time): The time the EventSource was created.
/// - On failure, responds with [`SdkError<CreateEventSourceError>`](crate::operation::create_event_source::CreateEventSourceError)
pub fn create_event_source(&self) -> crate::operation::create_event_source::builders::CreateEventSourceFluentBuilder {
crate::operation::create_event_source::builders::CreateEventSourceFluentBuilder::new(self.handle.clone())
}
}