aws_sdk_datasync/client/create_location_s3.rs
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateLocationS3`](crate::operation::create_location_s3::builders::CreateLocationS3FluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`subdirectory(impl Into<String>)`](crate::operation::create_location_s3::builders::CreateLocationS3FluentBuilder::subdirectory) / [`set_subdirectory(Option<String>)`](crate::operation::create_location_s3::builders::CreateLocationS3FluentBuilder::set_subdirectory):<br>required: **false**<br><p>Specifies a prefix in the S3 bucket that DataSync reads from or writes to (depending on whether the bucket is a source or destination location).</p><note> <p>DataSync can't transfer objects with a prefix that begins with a slash (<code>/</code>) or includes <code>//</code>, <code>/./</code>, or <code>/../</code> patterns. For example:</p> <ul> <li> <p><code>/photos</code></p></li> <li> <p><code>photos//2006/January</code></p></li> <li> <p><code>photos/./2006/February</code></p></li> <li> <p><code>photos/../2006/March</code></p></li> </ul> </note><br>
/// - [`s3_bucket_arn(impl Into<String>)`](crate::operation::create_location_s3::builders::CreateLocationS3FluentBuilder::s3_bucket_arn) / [`set_s3_bucket_arn(Option<String>)`](crate::operation::create_location_s3::builders::CreateLocationS3FluentBuilder::set_s3_bucket_arn):<br>required: **true**<br><p>Specifies the ARN of the S3 bucket that you want to use as a location. (When creating your DataSync task later, you specify whether this location is a transfer source or destination.)</p> <p>If your S3 bucket is located on an Outposts resource, you must specify an Amazon S3 access point. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html">Managing data access with Amazon S3 access points</a> in the <i>Amazon S3 User Guide</i>.</p><br>
/// - [`s3_storage_class(S3StorageClass)`](crate::operation::create_location_s3::builders::CreateLocationS3FluentBuilder::s3_storage_class) / [`set_s3_storage_class(Option<S3StorageClass>)`](crate::operation::create_location_s3::builders::CreateLocationS3FluentBuilder::set_s3_storage_class):<br>required: **false**<br><p>Specifies the storage class that you want your objects to use when Amazon S3 is a transfer destination.</p> <p>For buckets in Amazon Web Services Regions, the storage class defaults to <code>STANDARD</code>. For buckets on Outposts, the storage class defaults to <code>OUTPOSTS</code>.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes">Storage class considerations with Amazon S3 transfers</a>.</p><br>
/// - [`s3_config(S3Config)`](crate::operation::create_location_s3::builders::CreateLocationS3FluentBuilder::s3_config) / [`set_s3_config(Option<S3Config>)`](crate::operation::create_location_s3::builders::CreateLocationS3FluentBuilder::set_s3_config):<br>required: **true**<br><p>Specifies the Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that DataSync uses to access your S3 bucket.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#create-s3-location-access">Providing DataSync access to S3 buckets</a>.</p><br>
/// - [`agent_arns(impl Into<String>)`](crate::operation::create_location_s3::builders::CreateLocationS3FluentBuilder::agent_arns) / [`set_agent_arns(Option<Vec::<String>>)`](crate::operation::create_location_s3::builders::CreateLocationS3FluentBuilder::set_agent_arns):<br>required: **false**<br><p>(Amazon S3 on Outposts only) Specifies the Amazon Resource Name (ARN) of the DataSync agent on your Outpost.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/deploy-agents.html#outposts-agent">Deploy your DataSync agent on Outposts</a>.</p><br>
/// - [`tags(TagListEntry)`](crate::operation::create_location_s3::builders::CreateLocationS3FluentBuilder::tags) / [`set_tags(Option<Vec::<TagListEntry>>)`](crate::operation::create_location_s3::builders::CreateLocationS3FluentBuilder::set_tags):<br>required: **false**<br><p>Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your transfer location.</p><br>
/// - On success, responds with [`CreateLocationS3Output`](crate::operation::create_location_s3::CreateLocationS3Output) with field(s):
/// - [`location_arn(Option<String>)`](crate::operation::create_location_s3::CreateLocationS3Output::location_arn): <p>The ARN of the S3 location that you created.</p>
/// - On failure, responds with [`SdkError<CreateLocationS3Error>`](crate::operation::create_location_s3::CreateLocationS3Error)
pub fn create_location_s3(&self) -> crate::operation::create_location_s3::builders::CreateLocationS3FluentBuilder {
crate::operation::create_location_s3::builders::CreateLocationS3FluentBuilder::new(self.handle.clone())
}
}