aws_sdk_datasync/client/create_location_object_storage.rs
// 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):<br>required: **true**<br><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><br>
/// - [`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):<br>required: **false**<br><p>Specifies the port that your object storage server accepts inbound network traffic on (for example, port 443).</p><br>
/// - [`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):<br>required: **false**<br><p>Specifies the protocol that your object storage server uses to communicate.</p><br>
/// - [`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):<br>required: **false**<br><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><br>
/// - [`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):<br>required: **true**<br><p>Specifies the name of the object storage bucket involved in the transfer.</p><br>
/// - [`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):<br>required: **false**<br><p>Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.</p><br>
/// - [`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):<br>required: **false**<br><p>Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.</p><br>
/// - [`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):<br>required: **true**<br><p>Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.</p><br>
/// - [`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):<br>required: **false**<br><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><br>
/// - [`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):<br>required: **false**<br><p>Specifies a certificate chain for DataSync to authenticate with your object storage system if the system uses a private or self-signed certificate authority (CA). You must specify a single <code>.pem</code> file with a full certificate chain (for example, <code>file:///home/user/.ssh/object_storage_certificates.pem</code>).</p> <p>The certificate chain might include:</p> <ul> <li> <p>The object storage system's certificate</p></li> <li> <p>All intermediate certificates (if there are any)</p></li> <li> <p>The root certificate of the signing CA</p></li> </ul> <p>You can concatenate your certificates into a <code>.pem</code> file (which can be up to 32768 bytes before base64 encoding). The following example <code>cat</code> command creates an <code>object_storage_certificates.pem</code> file that includes three certificates:</p> <p><code>cat object_server_certificate.pem intermediate_certificate.pem ca_root_certificate.pem > object_storage_certificates.pem</code></p> <p>To use this parameter, configure <code>ServerProtocol</code> to <code>HTTPS</code>.</p><br>
/// - 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())
}
}