/** * 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 Kafka { namespace Model { /** *

Includes all client authentication information.

*

See Also:

AWS * API Reference

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

Details for ClientAuthentication using SASL.

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

Details for ClientAuthentication using SASL.

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

Details for ClientAuthentication using SASL.

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

Details for ClientAuthentication using SASL.

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

Details for ClientAuthentication using SASL.

*/ inline ClientAuthentication& WithSasl(const Sasl& value) { SetSasl(value); return *this;} /** *

Details for ClientAuthentication using SASL.

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

Details for ClientAuthentication using TLS.

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

Details for ClientAuthentication using TLS.

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

Details for ClientAuthentication using TLS.

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

Details for ClientAuthentication using TLS.

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

Details for ClientAuthentication using TLS.

*/ inline ClientAuthentication& WithTls(const Tls& value) { SetTls(value); return *this;} /** *

Details for ClientAuthentication using TLS.

*/ inline ClientAuthentication& WithTls(Tls&& value) { SetTls(std::move(value)); return *this;} /** *

Contains information about unauthenticated traffic to the * cluster.

*/ inline const Unauthenticated& GetUnauthenticated() const{ return m_unauthenticated; } /** *

Contains information about unauthenticated traffic to the * cluster.

*/ inline bool UnauthenticatedHasBeenSet() const { return m_unauthenticatedHasBeenSet; } /** *

Contains information about unauthenticated traffic to the * cluster.

*/ inline void SetUnauthenticated(const Unauthenticated& value) { m_unauthenticatedHasBeenSet = true; m_unauthenticated = value; } /** *

Contains information about unauthenticated traffic to the * cluster.

*/ inline void SetUnauthenticated(Unauthenticated&& value) { m_unauthenticatedHasBeenSet = true; m_unauthenticated = std::move(value); } /** *

Contains information about unauthenticated traffic to the * cluster.

*/ inline ClientAuthentication& WithUnauthenticated(const Unauthenticated& value) { SetUnauthenticated(value); return *this;} /** *

Contains information about unauthenticated traffic to the * cluster.

*/ inline ClientAuthentication& WithUnauthenticated(Unauthenticated&& value) { SetUnauthenticated(std::move(value)); return *this;} private: Sasl m_sasl; bool m_saslHasBeenSet = false; Tls m_tls; bool m_tlsHasBeenSet = false; Unauthenticated m_unauthenticated; bool m_unauthenticatedHasBeenSet = false; }; } // namespace Model } // namespace Kafka } // namespace Aws