1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// 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 securely connect with your location.</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 &gt; 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())
    }
}