/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DatabaseMigrationService { namespace Model { /** *

Provides information that defines a Redis target endpoint.

See * Also:

AWS * API Reference

*/ class RedisSettings { public: AWS_DATABASEMIGRATIONSERVICE_API RedisSettings(); AWS_DATABASEMIGRATIONSERVICE_API RedisSettings(Aws::Utils::Json::JsonView jsonValue); AWS_DATABASEMIGRATIONSERVICE_API RedisSettings& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_DATABASEMIGRATIONSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Fully qualified domain name of the endpoint.

*/ inline const Aws::String& GetServerName() const{ return m_serverName; } /** *

Fully qualified domain name of the endpoint.

*/ inline bool ServerNameHasBeenSet() const { return m_serverNameHasBeenSet; } /** *

Fully qualified domain name of the endpoint.

*/ inline void SetServerName(const Aws::String& value) { m_serverNameHasBeenSet = true; m_serverName = value; } /** *

Fully qualified domain name of the endpoint.

*/ inline void SetServerName(Aws::String&& value) { m_serverNameHasBeenSet = true; m_serverName = std::move(value); } /** *

Fully qualified domain name of the endpoint.

*/ inline void SetServerName(const char* value) { m_serverNameHasBeenSet = true; m_serverName.assign(value); } /** *

Fully qualified domain name of the endpoint.

*/ inline RedisSettings& WithServerName(const Aws::String& value) { SetServerName(value); return *this;} /** *

Fully qualified domain name of the endpoint.

*/ inline RedisSettings& WithServerName(Aws::String&& value) { SetServerName(std::move(value)); return *this;} /** *

Fully qualified domain name of the endpoint.

*/ inline RedisSettings& WithServerName(const char* value) { SetServerName(value); return *this;} /** *

Transmission Control Protocol (TCP) port for the endpoint.

*/ inline int GetPort() const{ return m_port; } /** *

Transmission Control Protocol (TCP) port for the endpoint.

*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *

Transmission Control Protocol (TCP) port for the endpoint.

*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *

Transmission Control Protocol (TCP) port for the endpoint.

*/ inline RedisSettings& WithPort(int value) { SetPort(value); return *this;} /** *

The connection to a Redis target endpoint using Transport Layer Security * (TLS). Valid values include plaintext and * ssl-encryption. The default is ssl-encryption. The * ssl-encryption option makes an encrypted connection. Optionally, * you can identify an Amazon Resource Name (ARN) for an SSL certificate authority * (CA) using the SslCaCertificateArn setting. If an ARN isn't given * for a CA, DMS uses the Amazon root CA.

The plaintext option * doesn't provide Transport Layer Security (TLS) encryption for traffic between * endpoint and database.

*/ inline const SslSecurityProtocolValue& GetSslSecurityProtocol() const{ return m_sslSecurityProtocol; } /** *

The connection to a Redis target endpoint using Transport Layer Security * (TLS). Valid values include plaintext and * ssl-encryption. The default is ssl-encryption. The * ssl-encryption option makes an encrypted connection. Optionally, * you can identify an Amazon Resource Name (ARN) for an SSL certificate authority * (CA) using the SslCaCertificateArn setting. If an ARN isn't given * for a CA, DMS uses the Amazon root CA.

The plaintext option * doesn't provide Transport Layer Security (TLS) encryption for traffic between * endpoint and database.

*/ inline bool SslSecurityProtocolHasBeenSet() const { return m_sslSecurityProtocolHasBeenSet; } /** *

The connection to a Redis target endpoint using Transport Layer Security * (TLS). Valid values include plaintext and * ssl-encryption. The default is ssl-encryption. The * ssl-encryption option makes an encrypted connection. Optionally, * you can identify an Amazon Resource Name (ARN) for an SSL certificate authority * (CA) using the SslCaCertificateArn setting. If an ARN isn't given * for a CA, DMS uses the Amazon root CA.

The plaintext option * doesn't provide Transport Layer Security (TLS) encryption for traffic between * endpoint and database.

*/ inline void SetSslSecurityProtocol(const SslSecurityProtocolValue& value) { m_sslSecurityProtocolHasBeenSet = true; m_sslSecurityProtocol = value; } /** *

The connection to a Redis target endpoint using Transport Layer Security * (TLS). Valid values include plaintext and * ssl-encryption. The default is ssl-encryption. The * ssl-encryption option makes an encrypted connection. Optionally, * you can identify an Amazon Resource Name (ARN) for an SSL certificate authority * (CA) using the SslCaCertificateArn setting. If an ARN isn't given * for a CA, DMS uses the Amazon root CA.

The plaintext option * doesn't provide Transport Layer Security (TLS) encryption for traffic between * endpoint and database.

*/ inline void SetSslSecurityProtocol(SslSecurityProtocolValue&& value) { m_sslSecurityProtocolHasBeenSet = true; m_sslSecurityProtocol = std::move(value); } /** *

The connection to a Redis target endpoint using Transport Layer Security * (TLS). Valid values include plaintext and * ssl-encryption. The default is ssl-encryption. The * ssl-encryption option makes an encrypted connection. Optionally, * you can identify an Amazon Resource Name (ARN) for an SSL certificate authority * (CA) using the SslCaCertificateArn setting. If an ARN isn't given * for a CA, DMS uses the Amazon root CA.

The plaintext option * doesn't provide Transport Layer Security (TLS) encryption for traffic between * endpoint and database.

*/ inline RedisSettings& WithSslSecurityProtocol(const SslSecurityProtocolValue& value) { SetSslSecurityProtocol(value); return *this;} /** *

The connection to a Redis target endpoint using Transport Layer Security * (TLS). Valid values include plaintext and * ssl-encryption. The default is ssl-encryption. The * ssl-encryption option makes an encrypted connection. Optionally, * you can identify an Amazon Resource Name (ARN) for an SSL certificate authority * (CA) using the SslCaCertificateArn setting. If an ARN isn't given * for a CA, DMS uses the Amazon root CA.

The plaintext option * doesn't provide Transport Layer Security (TLS) encryption for traffic between * endpoint and database.

*/ inline RedisSettings& WithSslSecurityProtocol(SslSecurityProtocolValue&& value) { SetSslSecurityProtocol(std::move(value)); return *this;} /** *

The type of authentication to perform when connecting to a Redis target. * Options include none, auth-token, and * auth-role. The auth-token option requires an * AuthPassword value to be provided. The auth-role * option requires AuthUserName and AuthPassword values * to be provided.

*/ inline const RedisAuthTypeValue& GetAuthType() const{ return m_authType; } /** *

The type of authentication to perform when connecting to a Redis target. * Options include none, auth-token, and * auth-role. The auth-token option requires an * AuthPassword value to be provided. The auth-role * option requires AuthUserName and AuthPassword values * to be provided.

*/ inline bool AuthTypeHasBeenSet() const { return m_authTypeHasBeenSet; } /** *

The type of authentication to perform when connecting to a Redis target. * Options include none, auth-token, and * auth-role. The auth-token option requires an * AuthPassword value to be provided. The auth-role * option requires AuthUserName and AuthPassword values * to be provided.

*/ inline void SetAuthType(const RedisAuthTypeValue& value) { m_authTypeHasBeenSet = true; m_authType = value; } /** *

The type of authentication to perform when connecting to a Redis target. * Options include none, auth-token, and * auth-role. The auth-token option requires an * AuthPassword value to be provided. The auth-role * option requires AuthUserName and AuthPassword values * to be provided.

*/ inline void SetAuthType(RedisAuthTypeValue&& value) { m_authTypeHasBeenSet = true; m_authType = std::move(value); } /** *

The type of authentication to perform when connecting to a Redis target. * Options include none, auth-token, and * auth-role. The auth-token option requires an * AuthPassword value to be provided. The auth-role * option requires AuthUserName and AuthPassword values * to be provided.

*/ inline RedisSettings& WithAuthType(const RedisAuthTypeValue& value) { SetAuthType(value); return *this;} /** *

The type of authentication to perform when connecting to a Redis target. * Options include none, auth-token, and * auth-role. The auth-token option requires an * AuthPassword value to be provided. The auth-role * option requires AuthUserName and AuthPassword values * to be provided.

*/ inline RedisSettings& WithAuthType(RedisAuthTypeValue&& value) { SetAuthType(std::move(value)); return *this;} /** *

The user name provided with the auth-role option of the * AuthType setting for a Redis target endpoint.

*/ inline const Aws::String& GetAuthUserName() const{ return m_authUserName; } /** *

The user name provided with the auth-role option of the * AuthType setting for a Redis target endpoint.

*/ inline bool AuthUserNameHasBeenSet() const { return m_authUserNameHasBeenSet; } /** *

The user name provided with the auth-role option of the * AuthType setting for a Redis target endpoint.

*/ inline void SetAuthUserName(const Aws::String& value) { m_authUserNameHasBeenSet = true; m_authUserName = value; } /** *

The user name provided with the auth-role option of the * AuthType setting for a Redis target endpoint.

*/ inline void SetAuthUserName(Aws::String&& value) { m_authUserNameHasBeenSet = true; m_authUserName = std::move(value); } /** *

The user name provided with the auth-role option of the * AuthType setting for a Redis target endpoint.

*/ inline void SetAuthUserName(const char* value) { m_authUserNameHasBeenSet = true; m_authUserName.assign(value); } /** *

The user name provided with the auth-role option of the * AuthType setting for a Redis target endpoint.

*/ inline RedisSettings& WithAuthUserName(const Aws::String& value) { SetAuthUserName(value); return *this;} /** *

The user name provided with the auth-role option of the * AuthType setting for a Redis target endpoint.

*/ inline RedisSettings& WithAuthUserName(Aws::String&& value) { SetAuthUserName(std::move(value)); return *this;} /** *

The user name provided with the auth-role option of the * AuthType setting for a Redis target endpoint.

*/ inline RedisSettings& WithAuthUserName(const char* value) { SetAuthUserName(value); return *this;} /** *

The password provided with the auth-role and * auth-token options of the AuthType setting for a Redis * target endpoint.

*/ inline const Aws::String& GetAuthPassword() const{ return m_authPassword; } /** *

The password provided with the auth-role and * auth-token options of the AuthType setting for a Redis * target endpoint.

*/ inline bool AuthPasswordHasBeenSet() const { return m_authPasswordHasBeenSet; } /** *

The password provided with the auth-role and * auth-token options of the AuthType setting for a Redis * target endpoint.

*/ inline void SetAuthPassword(const Aws::String& value) { m_authPasswordHasBeenSet = true; m_authPassword = value; } /** *

The password provided with the auth-role and * auth-token options of the AuthType setting for a Redis * target endpoint.

*/ inline void SetAuthPassword(Aws::String&& value) { m_authPasswordHasBeenSet = true; m_authPassword = std::move(value); } /** *

The password provided with the auth-role and * auth-token options of the AuthType setting for a Redis * target endpoint.

*/ inline void SetAuthPassword(const char* value) { m_authPasswordHasBeenSet = true; m_authPassword.assign(value); } /** *

The password provided with the auth-role and * auth-token options of the AuthType setting for a Redis * target endpoint.

*/ inline RedisSettings& WithAuthPassword(const Aws::String& value) { SetAuthPassword(value); return *this;} /** *

The password provided with the auth-role and * auth-token options of the AuthType setting for a Redis * target endpoint.

*/ inline RedisSettings& WithAuthPassword(Aws::String&& value) { SetAuthPassword(std::move(value)); return *this;} /** *

The password provided with the auth-role and * auth-token options of the AuthType setting for a Redis * target endpoint.

*/ inline RedisSettings& WithAuthPassword(const char* value) { SetAuthPassword(value); return *this;} /** *

The Amazon Resource Name (ARN) for the certificate authority (CA) that DMS * uses to connect to your Redis target endpoint.

*/ inline const Aws::String& GetSslCaCertificateArn() const{ return m_sslCaCertificateArn; } /** *

The Amazon Resource Name (ARN) for the certificate authority (CA) that DMS * uses to connect to your Redis target endpoint.

*/ inline bool SslCaCertificateArnHasBeenSet() const { return m_sslCaCertificateArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the certificate authority (CA) that DMS * uses to connect to your Redis target endpoint.

*/ inline void SetSslCaCertificateArn(const Aws::String& value) { m_sslCaCertificateArnHasBeenSet = true; m_sslCaCertificateArn = value; } /** *

The Amazon Resource Name (ARN) for the certificate authority (CA) that DMS * uses to connect to your Redis target endpoint.

*/ inline void SetSslCaCertificateArn(Aws::String&& value) { m_sslCaCertificateArnHasBeenSet = true; m_sslCaCertificateArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the certificate authority (CA) that DMS * uses to connect to your Redis target endpoint.

*/ inline void SetSslCaCertificateArn(const char* value) { m_sslCaCertificateArnHasBeenSet = true; m_sslCaCertificateArn.assign(value); } /** *

The Amazon Resource Name (ARN) for the certificate authority (CA) that DMS * uses to connect to your Redis target endpoint.

*/ inline RedisSettings& WithSslCaCertificateArn(const Aws::String& value) { SetSslCaCertificateArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the certificate authority (CA) that DMS * uses to connect to your Redis target endpoint.

*/ inline RedisSettings& WithSslCaCertificateArn(Aws::String&& value) { SetSslCaCertificateArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the certificate authority (CA) that DMS * uses to connect to your Redis target endpoint.

*/ inline RedisSettings& WithSslCaCertificateArn(const char* value) { SetSslCaCertificateArn(value); return *this;} private: Aws::String m_serverName; bool m_serverNameHasBeenSet = false; int m_port; bool m_portHasBeenSet = false; SslSecurityProtocolValue m_sslSecurityProtocol; bool m_sslSecurityProtocolHasBeenSet = false; RedisAuthTypeValue m_authType; bool m_authTypeHasBeenSet = false; Aws::String m_authUserName; bool m_authUserNameHasBeenSet = false; Aws::String m_authPassword; bool m_authPasswordHasBeenSet = false; Aws::String m_sslCaCertificateArn; bool m_sslCaCertificateArnHasBeenSet = false; }; } // namespace Model } // namespace DatabaseMigrationService } // namespace Aws