// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`StartPersonTracking`](crate::operation::start_person_tracking::builders::StartPersonTrackingFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`video(Video)`](crate::operation::start_person_tracking::builders::StartPersonTrackingFluentBuilder::video) / [`set_video(Option<Video>)`](crate::operation::start_person_tracking::builders::StartPersonTrackingFluentBuilder::set_video):<br>required: **true**<br><p>The video in which you want to detect people. The video must be stored in an Amazon S3 bucket.</p><br>
/// - [`client_request_token(impl Into<String>)`](crate::operation::start_person_tracking::builders::StartPersonTrackingFluentBuilder::client_request_token) / [`set_client_request_token(Option<String>)`](crate::operation::start_person_tracking::builders::StartPersonTrackingFluentBuilder::set_client_request_token):<br>required: **false**<br><p>Idempotent token used to identify the start request. If you use the same token with multiple <code>StartPersonTracking</code> requests, the same <code>JobId</code> is returned. Use <code>ClientRequestToken</code> to prevent the same job from being accidently started more than once. </p><br>
/// - [`notification_channel(NotificationChannel)`](crate::operation::start_person_tracking::builders::StartPersonTrackingFluentBuilder::notification_channel) / [`set_notification_channel(Option<NotificationChannel>)`](crate::operation::start_person_tracking::builders::StartPersonTrackingFluentBuilder::set_notification_channel):<br>required: **false**<br><p>The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the completion status of the people detection operation to. The Amazon SNS topic must have a topic name that begins with <i>AmazonRekognition</i> if you are using the AmazonRekognitionServiceRole permissions policy.</p><br>
/// - [`job_tag(impl Into<String>)`](crate::operation::start_person_tracking::builders::StartPersonTrackingFluentBuilder::job_tag) / [`set_job_tag(Option<String>)`](crate::operation::start_person_tracking::builders::StartPersonTrackingFluentBuilder::set_job_tag):<br>required: **false**<br><p>An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. For example, you can use <code>JobTag</code> to group related jobs and identify them in the completion notification.</p><br>
/// - On success, responds with [`StartPersonTrackingOutput`](crate::operation::start_person_tracking::StartPersonTrackingOutput) with field(s):
/// - [`job_id(Option<String>)`](crate::operation::start_person_tracking::StartPersonTrackingOutput::job_id): <p>The identifier for the person detection job. Use <code>JobId</code> to identify the job in a subsequent call to <code>GetPersonTracking</code>.</p>
/// - On failure, responds with [`SdkError<StartPersonTrackingError>`](crate::operation::start_person_tracking::StartPersonTrackingError)
pub fn start_person_tracking(&self) -> crate::operation::start_person_tracking::builders::StartPersonTrackingFluentBuilder {
crate::operation::start_person_tracking::builders::StartPersonTrackingFluentBuilder::new(self.handle.clone())
}
}