// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateLocationObjectStorage`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`server_hostname(impl Into<String>)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::server_hostname) / [`set_server_hostname(Option<String>)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::set_server_hostname): <p>Specifies the domain name or IP address of the object storage server. A DataSync agent uses this hostname to mount the object storage server in a network.</p>
/// - [`server_port(i32)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::server_port) / [`set_server_port(Option<i32>)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::set_server_port): <p>Specifies the port that your object storage server accepts inbound network traffic on (for example, port 443).</p>
/// - [`server_protocol(ObjectStorageServerProtocol)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::server_protocol) / [`set_server_protocol(Option<ObjectStorageServerProtocol>)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::set_server_protocol): <p>Specifies the protocol that your object storage server uses to communicate.</p>
/// - [`subdirectory(impl Into<String>)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::subdirectory) / [`set_subdirectory(Option<String>)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::set_subdirectory): <p>Specifies the object prefix for your object storage server. If this is a source location, DataSync only copies objects with this prefix. If this is a destination location, DataSync writes all objects with this prefix. </p>
/// - [`bucket_name(impl Into<String>)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::bucket_name) / [`set_bucket_name(Option<String>)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::set_bucket_name): <p>Specifies the name of the object storage bucket involved in the transfer.</p>
/// - [`access_key(impl Into<String>)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::access_key) / [`set_access_key(Option<String>)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::set_access_key): <p>Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.</p>
/// - [`secret_key(impl Into<String>)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::secret_key) / [`set_secret_key(Option<String>)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::set_secret_key): <p>Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.</p>
/// - [`agent_arns(impl Into<String>)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::agent_arns) / [`set_agent_arns(Option<Vec<String>>)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::set_agent_arns): <p>Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can securely connect with your location.</p>
/// - [`tags(TagListEntry)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::tags) / [`set_tags(Option<Vec<TagListEntry>>)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::set_tags): <p>Specifies the key-value pair that represents a tag that you want to add to the resource. Tags can help you manage, filter, and search for your resources. We recommend creating a name tag for your location.</p>
/// - [`server_certificate(Blob)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::server_certificate) / [`set_server_certificate(Option<Blob>)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::set_server_certificate): <p>Specifies a file with the certificates that are used to sign the object storage server's certificate (for example, <code>file:///home/user/.ssh/storage_sys_certificate.pem</code>). The file you specify must include the following:</p> <ul> <li> <p>The certificate of the signing certificate authority (CA)</p> </li> <li> <p>Any intermediate certificates</p> </li> <li> <p>base64 encoding</p> </li> <li> <p>A <code>.pem</code> extension</p> </li> </ul> <p>The file can be up to 32768 bytes (before base64 encoding).</p> <p>To use this parameter, configure <code>ServerProtocol</code> to <code>HTTPS</code>.</p>
/// - On success, responds with [`CreateLocationObjectStorageOutput`](crate::operation::create_location_object_storage::CreateLocationObjectStorageOutput) with field(s):
/// - [`location_arn(Option<String>)`](crate::operation::create_location_object_storage::CreateLocationObjectStorageOutput::location_arn): <p>Specifies the ARN of the object storage system location that you create.</p>
/// - On failure, responds with [`SdkError<CreateLocationObjectStorageError>`](crate::operation::create_location_object_storage::CreateLocationObjectStorageError)
pub fn create_location_object_storage(
&self,
) -> crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder {
crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::new(self.handle.clone())
}
}