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

Includes all client authentication information for VPC * connectivity.

See Also:

AWS * API Reference

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

SASL authentication type details for VPC connectivity.

* */ inline const VpcConnectivitySasl& GetSasl() const{ return m_sasl; } /** *

SASL authentication type details for VPC connectivity.

* */ inline bool SaslHasBeenSet() const { return m_saslHasBeenSet; } /** *

SASL authentication type details for VPC connectivity.

* */ inline void SetSasl(const VpcConnectivitySasl& value) { m_saslHasBeenSet = true; m_sasl = value; } /** *

SASL authentication type details for VPC connectivity.

* */ inline void SetSasl(VpcConnectivitySasl&& value) { m_saslHasBeenSet = true; m_sasl = std::move(value); } /** *

SASL authentication type details for VPC connectivity.

* */ inline VpcConnectivityClientAuthentication& WithSasl(const VpcConnectivitySasl& value) { SetSasl(value); return *this;} /** *

SASL authentication type details for VPC connectivity.

* */ inline VpcConnectivityClientAuthentication& WithSasl(VpcConnectivitySasl&& value) { SetSasl(std::move(value)); return *this;} /** *

TLS authentication type details for VPC connectivity.

* */ inline const VpcConnectivityTls& GetTls() const{ return m_tls; } /** *

TLS authentication type details for VPC connectivity.

* */ inline bool TlsHasBeenSet() const { return m_tlsHasBeenSet; } /** *

TLS authentication type details for VPC connectivity.

* */ inline void SetTls(const VpcConnectivityTls& value) { m_tlsHasBeenSet = true; m_tls = value; } /** *

TLS authentication type details for VPC connectivity.

* */ inline void SetTls(VpcConnectivityTls&& value) { m_tlsHasBeenSet = true; m_tls = std::move(value); } /** *

TLS authentication type details for VPC connectivity.

* */ inline VpcConnectivityClientAuthentication& WithTls(const VpcConnectivityTls& value) { SetTls(value); return *this;} /** *

TLS authentication type details for VPC connectivity.

* */ inline VpcConnectivityClientAuthentication& WithTls(VpcConnectivityTls&& value) { SetTls(std::move(value)); return *this;} private: VpcConnectivitySasl m_sasl; bool m_saslHasBeenSet = false; VpcConnectivityTls m_tls; bool m_tlsHasBeenSet = false; }; } // namespace Model } // namespace Kafka } // namespace Aws