/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace DataSync { namespace Model { /** */ class UpdateLocationObjectStorageRequest : public DataSyncRequest { public: AWS_DATASYNC_API UpdateLocationObjectStorageRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateLocationObjectStorage"; } AWS_DATASYNC_API Aws::String SerializePayload() const override; AWS_DATASYNC_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

Specifies the ARN of the object storage system location that you're * updating.

*/ inline const Aws::String& GetLocationArn() const{ return m_locationArn; } /** *

Specifies the ARN of the object storage system location that you're * updating.

*/ inline bool LocationArnHasBeenSet() const { return m_locationArnHasBeenSet; } /** *

Specifies the ARN of the object storage system location that you're * updating.

*/ inline void SetLocationArn(const Aws::String& value) { m_locationArnHasBeenSet = true; m_locationArn = value; } /** *

Specifies the ARN of the object storage system location that you're * updating.

*/ inline void SetLocationArn(Aws::String&& value) { m_locationArnHasBeenSet = true; m_locationArn = std::move(value); } /** *

Specifies the ARN of the object storage system location that you're * updating.

*/ inline void SetLocationArn(const char* value) { m_locationArnHasBeenSet = true; m_locationArn.assign(value); } /** *

Specifies the ARN of the object storage system location that you're * updating.

*/ inline UpdateLocationObjectStorageRequest& WithLocationArn(const Aws::String& value) { SetLocationArn(value); return *this;} /** *

Specifies the ARN of the object storage system location that you're * updating.

*/ inline UpdateLocationObjectStorageRequest& WithLocationArn(Aws::String&& value) { SetLocationArn(std::move(value)); return *this;} /** *

Specifies the ARN of the object storage system location that you're * updating.

*/ inline UpdateLocationObjectStorageRequest& WithLocationArn(const char* value) { SetLocationArn(value); return *this;} /** *

Specifies the port that your object storage server accepts inbound network * traffic on (for example, port 443).

*/ inline int GetServerPort() const{ return m_serverPort; } /** *

Specifies the port that your object storage server accepts inbound network * traffic on (for example, port 443).

*/ inline bool ServerPortHasBeenSet() const { return m_serverPortHasBeenSet; } /** *

Specifies the port that your object storage server accepts inbound network * traffic on (for example, port 443).

*/ inline void SetServerPort(int value) { m_serverPortHasBeenSet = true; m_serverPort = value; } /** *

Specifies the port that your object storage server accepts inbound network * traffic on (for example, port 443).

*/ inline UpdateLocationObjectStorageRequest& WithServerPort(int value) { SetServerPort(value); return *this;} /** *

Specifies the protocol that your object storage server uses to * communicate.

*/ inline const ObjectStorageServerProtocol& GetServerProtocol() const{ return m_serverProtocol; } /** *

Specifies the protocol that your object storage server uses to * communicate.

*/ inline bool ServerProtocolHasBeenSet() const { return m_serverProtocolHasBeenSet; } /** *

Specifies the protocol that your object storage server uses to * communicate.

*/ inline void SetServerProtocol(const ObjectStorageServerProtocol& value) { m_serverProtocolHasBeenSet = true; m_serverProtocol = value; } /** *

Specifies the protocol that your object storage server uses to * communicate.

*/ inline void SetServerProtocol(ObjectStorageServerProtocol&& value) { m_serverProtocolHasBeenSet = true; m_serverProtocol = std::move(value); } /** *

Specifies the protocol that your object storage server uses to * communicate.

*/ inline UpdateLocationObjectStorageRequest& WithServerProtocol(const ObjectStorageServerProtocol& value) { SetServerProtocol(value); return *this;} /** *

Specifies the protocol that your object storage server uses to * communicate.

*/ inline UpdateLocationObjectStorageRequest& WithServerProtocol(ObjectStorageServerProtocol&& value) { SetServerProtocol(std::move(value)); return *this;} /** *

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.

*/ inline const Aws::String& GetSubdirectory() const{ return m_subdirectory; } /** *

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.

*/ inline bool SubdirectoryHasBeenSet() const { return m_subdirectoryHasBeenSet; } /** *

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.

*/ inline void SetSubdirectory(const Aws::String& value) { m_subdirectoryHasBeenSet = true; m_subdirectory = value; } /** *

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.

*/ inline void SetSubdirectory(Aws::String&& value) { m_subdirectoryHasBeenSet = true; m_subdirectory = std::move(value); } /** *

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.

*/ inline void SetSubdirectory(const char* value) { m_subdirectoryHasBeenSet = true; m_subdirectory.assign(value); } /** *

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.

*/ inline UpdateLocationObjectStorageRequest& WithSubdirectory(const Aws::String& value) { SetSubdirectory(value); return *this;} /** *

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.

*/ inline UpdateLocationObjectStorageRequest& WithSubdirectory(Aws::String&& value) { SetSubdirectory(std::move(value)); return *this;} /** *

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.

*/ inline UpdateLocationObjectStorageRequest& WithSubdirectory(const char* value) { SetSubdirectory(value); return *this;} /** *

Specifies the access key (for example, a user name) if credentials are * required to authenticate with the object storage server.

*/ inline const Aws::String& GetAccessKey() const{ return m_accessKey; } /** *

Specifies the access key (for example, a user name) if credentials are * required to authenticate with the object storage server.

*/ inline bool AccessKeyHasBeenSet() const { return m_accessKeyHasBeenSet; } /** *

Specifies the access key (for example, a user name) if credentials are * required to authenticate with the object storage server.

*/ inline void SetAccessKey(const Aws::String& value) { m_accessKeyHasBeenSet = true; m_accessKey = value; } /** *

Specifies the access key (for example, a user name) if credentials are * required to authenticate with the object storage server.

*/ inline void SetAccessKey(Aws::String&& value) { m_accessKeyHasBeenSet = true; m_accessKey = std::move(value); } /** *

Specifies the access key (for example, a user name) if credentials are * required to authenticate with the object storage server.

*/ inline void SetAccessKey(const char* value) { m_accessKeyHasBeenSet = true; m_accessKey.assign(value); } /** *

Specifies the access key (for example, a user name) if credentials are * required to authenticate with the object storage server.

*/ inline UpdateLocationObjectStorageRequest& WithAccessKey(const Aws::String& value) { SetAccessKey(value); return *this;} /** *

Specifies the access key (for example, a user name) if credentials are * required to authenticate with the object storage server.

*/ inline UpdateLocationObjectStorageRequest& WithAccessKey(Aws::String&& value) { SetAccessKey(std::move(value)); return *this;} /** *

Specifies the access key (for example, a user name) if credentials are * required to authenticate with the object storage server.

*/ inline UpdateLocationObjectStorageRequest& WithAccessKey(const char* value) { SetAccessKey(value); return *this;} /** *

Specifies the secret key (for example, a password) if credentials are * required to authenticate with the object storage server.

*/ inline const Aws::String& GetSecretKey() const{ return m_secretKey; } /** *

Specifies the secret key (for example, a password) if credentials are * required to authenticate with the object storage server.

*/ inline bool SecretKeyHasBeenSet() const { return m_secretKeyHasBeenSet; } /** *

Specifies the secret key (for example, a password) if credentials are * required to authenticate with the object storage server.

*/ inline void SetSecretKey(const Aws::String& value) { m_secretKeyHasBeenSet = true; m_secretKey = value; } /** *

Specifies the secret key (for example, a password) if credentials are * required to authenticate with the object storage server.

*/ inline void SetSecretKey(Aws::String&& value) { m_secretKeyHasBeenSet = true; m_secretKey = std::move(value); } /** *

Specifies the secret key (for example, a password) if credentials are * required to authenticate with the object storage server.

*/ inline void SetSecretKey(const char* value) { m_secretKeyHasBeenSet = true; m_secretKey.assign(value); } /** *

Specifies the secret key (for example, a password) if credentials are * required to authenticate with the object storage server.

*/ inline UpdateLocationObjectStorageRequest& WithSecretKey(const Aws::String& value) { SetSecretKey(value); return *this;} /** *

Specifies the secret key (for example, a password) if credentials are * required to authenticate with the object storage server.

*/ inline UpdateLocationObjectStorageRequest& WithSecretKey(Aws::String&& value) { SetSecretKey(std::move(value)); return *this;} /** *

Specifies the secret key (for example, a password) if credentials are * required to authenticate with the object storage server.

*/ inline UpdateLocationObjectStorageRequest& WithSecretKey(const char* value) { SetSecretKey(value); return *this;} /** *

Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can * securely connect with your location.

*/ inline const Aws::Vector& GetAgentArns() const{ return m_agentArns; } /** *

Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can * securely connect with your location.

*/ inline bool AgentArnsHasBeenSet() const { return m_agentArnsHasBeenSet; } /** *

Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can * securely connect with your location.

*/ inline void SetAgentArns(const Aws::Vector& value) { m_agentArnsHasBeenSet = true; m_agentArns = value; } /** *

Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can * securely connect with your location.

*/ inline void SetAgentArns(Aws::Vector&& value) { m_agentArnsHasBeenSet = true; m_agentArns = std::move(value); } /** *

Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can * securely connect with your location.

*/ inline UpdateLocationObjectStorageRequest& WithAgentArns(const Aws::Vector& value) { SetAgentArns(value); return *this;} /** *

Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can * securely connect with your location.

*/ inline UpdateLocationObjectStorageRequest& WithAgentArns(Aws::Vector&& value) { SetAgentArns(std::move(value)); return *this;} /** *

Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can * securely connect with your location.

*/ inline UpdateLocationObjectStorageRequest& AddAgentArns(const Aws::String& value) { m_agentArnsHasBeenSet = true; m_agentArns.push_back(value); return *this; } /** *

Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can * securely connect with your location.

*/ inline UpdateLocationObjectStorageRequest& AddAgentArns(Aws::String&& value) { m_agentArnsHasBeenSet = true; m_agentArns.push_back(std::move(value)); return *this; } /** *

Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can * securely connect with your location.

*/ inline UpdateLocationObjectStorageRequest& AddAgentArns(const char* value) { m_agentArnsHasBeenSet = true; m_agentArns.push_back(value); return *this; } /** *

Specifies a certificate to authenticate with an object storage system that * uses a private or self-signed certificate authority (CA). You must specify a * Base64-encoded .pem file (for example, * file:///home/user/.ssh/storage_sys_certificate.pem). The * certificate can be up to 32768 bytes (before Base64 encoding).

To use * this parameter, configure ServerProtocol to HTTPS.

*

Updating the certificate doesn't interfere with tasks that you have in * progress.

*/ inline const Aws::Utils::ByteBuffer& GetServerCertificate() const{ return m_serverCertificate; } /** *

Specifies a certificate to authenticate with an object storage system that * uses a private or self-signed certificate authority (CA). You must specify a * Base64-encoded .pem file (for example, * file:///home/user/.ssh/storage_sys_certificate.pem). The * certificate can be up to 32768 bytes (before Base64 encoding).

To use * this parameter, configure ServerProtocol to HTTPS.

*

Updating the certificate doesn't interfere with tasks that you have in * progress.

*/ inline bool ServerCertificateHasBeenSet() const { return m_serverCertificateHasBeenSet; } /** *

Specifies a certificate to authenticate with an object storage system that * uses a private or self-signed certificate authority (CA). You must specify a * Base64-encoded .pem file (for example, * file:///home/user/.ssh/storage_sys_certificate.pem). The * certificate can be up to 32768 bytes (before Base64 encoding).

To use * this parameter, configure ServerProtocol to HTTPS.

*

Updating the certificate doesn't interfere with tasks that you have in * progress.

*/ inline void SetServerCertificate(const Aws::Utils::ByteBuffer& value) { m_serverCertificateHasBeenSet = true; m_serverCertificate = value; } /** *

Specifies a certificate to authenticate with an object storage system that * uses a private or self-signed certificate authority (CA). You must specify a * Base64-encoded .pem file (for example, * file:///home/user/.ssh/storage_sys_certificate.pem). The * certificate can be up to 32768 bytes (before Base64 encoding).

To use * this parameter, configure ServerProtocol to HTTPS.

*

Updating the certificate doesn't interfere with tasks that you have in * progress.

*/ inline void SetServerCertificate(Aws::Utils::ByteBuffer&& value) { m_serverCertificateHasBeenSet = true; m_serverCertificate = std::move(value); } /** *

Specifies a certificate to authenticate with an object storage system that * uses a private or self-signed certificate authority (CA). You must specify a * Base64-encoded .pem file (for example, * file:///home/user/.ssh/storage_sys_certificate.pem). The * certificate can be up to 32768 bytes (before Base64 encoding).

To use * this parameter, configure ServerProtocol to HTTPS.

*

Updating the certificate doesn't interfere with tasks that you have in * progress.

*/ inline UpdateLocationObjectStorageRequest& WithServerCertificate(const Aws::Utils::ByteBuffer& value) { SetServerCertificate(value); return *this;} /** *

Specifies a certificate to authenticate with an object storage system that * uses a private or self-signed certificate authority (CA). You must specify a * Base64-encoded .pem file (for example, * file:///home/user/.ssh/storage_sys_certificate.pem). The * certificate can be up to 32768 bytes (before Base64 encoding).

To use * this parameter, configure ServerProtocol to HTTPS.

*

Updating the certificate doesn't interfere with tasks that you have in * progress.

*/ inline UpdateLocationObjectStorageRequest& WithServerCertificate(Aws::Utils::ByteBuffer&& value) { SetServerCertificate(std::move(value)); return *this;} private: Aws::String m_locationArn; bool m_locationArnHasBeenSet = false; int m_serverPort; bool m_serverPortHasBeenSet = false; ObjectStorageServerProtocol m_serverProtocol; bool m_serverProtocolHasBeenSet = false; Aws::String m_subdirectory; bool m_subdirectoryHasBeenSet = false; Aws::String m_accessKey; bool m_accessKeyHasBeenSet = false; Aws::String m_secretKey; bool m_secretKeyHasBeenSet = false; Aws::Vector m_agentArns; bool m_agentArnsHasBeenSet = false; Aws::Utils::ByteBuffer m_serverCertificate; bool m_serverCertificateHasBeenSet = false; }; } // namespace Model } // namespace DataSync } // namespace Aws