// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateTask`](crate::operation::create_task::builders::CreateTaskFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`source_location_arn(impl Into<String>)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::source_location_arn) / [`set_source_location_arn(Option<String>)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::set_source_location_arn):<br>required: **true**<br><p>Specifies the ARN of your transfer's source location.</p><br>
/// - [`destination_location_arn(impl Into<String>)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::destination_location_arn) / [`set_destination_location_arn(Option<String>)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::set_destination_location_arn):<br>required: **true**<br><p>Specifies the ARN of your transfer's destination location.</p><br>
/// - [`cloud_watch_log_group_arn(impl Into<String>)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::cloud_watch_log_group_arn) / [`set_cloud_watch_log_group_arn(Option<String>)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::set_cloud_watch_log_group_arn):<br>required: **false**<br><p>Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.</p><br>
/// - [`name(impl Into<String>)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::set_name):<br>required: **false**<br><p>Specifies the name of your task.</p><br>
/// - [`options(Options)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::options) / [`set_options(Option<Options>)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::set_options):<br>required: **false**<br><p>Specifies your task's settings, such as preserving file metadata, verifying data integrity, among other options.</p><br>
/// - [`excludes(FilterRule)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::excludes) / [`set_excludes(Option<Vec::<FilterRule>>)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::set_excludes):<br>required: **false**<br><p>Specifies exclude filters that define the files, objects, and folders in your source location that you don't want DataSync to transfer. For more information and examples, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html">Specifying what DataSync transfers by using filters</a>.</p><br>
/// - [`schedule(TaskSchedule)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::schedule) / [`set_schedule(Option<TaskSchedule>)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::set_schedule):<br>required: **false**<br><p>Specifies a schedule for when you want your task to run. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html">Scheduling your task</a>.</p><br>
/// - [`tags(TagListEntry)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::tags) / [`set_tags(Option<Vec::<TagListEntry>>)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::set_tags):<br>required: **false**<br><p>Specifies the tags that you want to apply to your task.</p> <p><i>Tags</i> are key-value pairs that help you manage, filter, and search for your DataSync resources.</p><br>
/// - [`includes(FilterRule)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::includes) / [`set_includes(Option<Vec::<FilterRule>>)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::set_includes):<br>required: **false**<br><p>Specifies include filters define the files, objects, and folders in your source location that you want DataSync to transfer. For more information and examples, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html">Specifying what DataSync transfers by using filters</a>.</p><br>
/// - [`manifest_config(ManifestConfig)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::manifest_config) / [`set_manifest_config(Option<ManifestConfig>)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::set_manifest_config):<br>required: **false**<br><p>Configures a manifest, which is a list of files or objects that you want DataSync to transfer. For more information and configuration examples, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html">Specifying what DataSync transfers by using a manifest</a>.</p> <p>When using this parameter, your caller identity (the role that you're using DataSync with) must have the <code>iam:PassRole</code> permission. The <a href="https://docs.aws.amazon.com/datasync/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-awsdatasyncfullaccess">AWSDataSyncFullAccess</a> policy includes this permission.</p><br>
/// - [`task_report_config(TaskReportConfig)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::task_report_config) / [`set_task_report_config(Option<TaskReportConfig>)`](crate::operation::create_task::builders::CreateTaskFluentBuilder::set_task_report_config):<br>required: **false**<br><p>Specifies how you want to configure a task report, which provides detailed information about your DataSync transfer. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html">Monitoring your DataSync transfers with task reports</a>.</p> <p>When using this parameter, your caller identity (the role that you're using DataSync with) must have the <code>iam:PassRole</code> permission. The <a href="https://docs.aws.amazon.com/datasync/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-awsdatasyncfullaccess">AWSDataSyncFullAccess</a> policy includes this permission.</p><br>
/// - On success, responds with [`CreateTaskOutput`](crate::operation::create_task::CreateTaskOutput) with field(s):
/// - [`task_arn(Option<String>)`](crate::operation::create_task::CreateTaskOutput::task_arn): <p>The Amazon Resource Name (ARN) of the task.</p>
/// - On failure, responds with [`SdkError<CreateTaskError>`](crate::operation::create_task::CreateTaskError)
pub fn create_task(&self) -> crate::operation::create_task::builders::CreateTaskFluentBuilder {
crate::operation::create_task::builders::CreateTaskFluentBuilder::new(self.handle.clone())
}
}