aws_sdk_datasync/client/create_location_object_storage.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3 /// Constructs a fluent builder for the [`CreateLocationObjectStorage`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`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 version 4 (IPv4) address of the object storage server that your DataSync agent connects to.</p><br>
7 /// - [`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>
8 /// - [`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>
9 /// - [`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>
10 /// - [`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>
11 /// - [`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>
12 /// - [`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>
13 /// - [`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: **false**<br><p>(Optional) Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.</p><note> <p>Make sure you configure this parameter correctly when you first create your storage location. You cannot add or remove agents from a storage location after you create it.</p> </note><br>
14 /// - [`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>
15 /// - [`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>
16 /// - [`cmk_secret_config(CmkSecretConfig)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::cmk_secret_config) / [`set_cmk_secret_config(Option<CmkSecretConfig>)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::set_cmk_secret_config):<br>required: **false**<br><p>Specifies configuration information for a DataSync-managed secret, which includes the <code>SecretKey</code> that DataSync uses to access a specific object storage location, with a customer-managed KMS key.</p> <p>When you include this paramater as part of a <code>CreateLocationObjectStorage</code> request, you provide only the KMS key ARN. DataSync uses this KMS key together with the value you specify for the <code>SecretKey</code> parameter to create a DataSync-managed secret to store the location access credentials.</p> <p>Make sure the DataSync has permission to access the KMS key that you specify.</p><note> <p>You can use either <code>CmkSecretConfig</code> (with <code>SecretKey</code>) or <code>CustomSecretConfig</code> (without <code>SecretKey</code>) to provide credentials for a <code>CreateLocationObjectStorage</code> request. Do not provide both parameters for the same request.</p> </note><br>
17 /// - [`custom_secret_config(CustomSecretConfig)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::custom_secret_config) / [`set_custom_secret_config(Option<CustomSecretConfig>)`](crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::set_custom_secret_config):<br>required: **false**<br><p>Specifies configuration information for a customer-managed Secrets Manager secret where the secret key for a specific object storage location is stored in plain text. This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.</p><note> <p>You can use either <code>CmkSecretConfig</code> (with <code>SecretKey</code>) or <code>CustomSecretConfig</code> (without <code>SecretKey</code>) to provide credentials for a <code>CreateLocationObjectStorage</code> request. Do not provide both parameters for the same request.</p> </note><br>
18 /// - On success, responds with [`CreateLocationObjectStorageOutput`](crate::operation::create_location_object_storage::CreateLocationObjectStorageOutput) with field(s):
19 /// - [`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>
20 /// - On failure, responds with [`SdkError<CreateLocationObjectStorageError>`](crate::operation::create_location_object_storage::CreateLocationObjectStorageError)
21 pub fn create_location_object_storage(
22 &self,
23 ) -> crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder {
24 crate::operation::create_location_object_storage::builders::CreateLocationObjectStorageFluentBuilder::new(self.handle.clone())
25 }
26}