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

The object that defines a TLS inspection configuration. This, along with * TLSInspectionConfigurationResponse, define the TLS inspection * configuration. You can retrieve all objects for a TLS inspection configuration * by calling DescribeTLSInspectionConfiguration.

Network Firewall * uses a TLS inspection configuration to decrypt traffic. Network Firewall * re-encrypts the traffic before sending it to its destination.

To use a * TLS inspection configuration, you add it to a Network Firewall firewall policy, * then you apply the firewall policy to a firewall. Network Firewall acts as a * proxy service to decrypt and inspect inbound traffic. You can reference a TLS * inspection configuration from more than one firewall policy, and you can use a * firewall policy in more than one firewall. For more information about using TLS * inspection configurations, see Decrypting * SSL/TLS traffic with TLS inspection configurations in the Network * Firewall Developer Guide.

See Also:

AWS * API Reference

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

Lists the server certificate configurations that are associated with the TLS * configuration.

*/ inline const Aws::Vector& GetServerCertificateConfigurations() const{ return m_serverCertificateConfigurations; } /** *

Lists the server certificate configurations that are associated with the TLS * configuration.

*/ inline bool ServerCertificateConfigurationsHasBeenSet() const { return m_serverCertificateConfigurationsHasBeenSet; } /** *

Lists the server certificate configurations that are associated with the TLS * configuration.

*/ inline void SetServerCertificateConfigurations(const Aws::Vector& value) { m_serverCertificateConfigurationsHasBeenSet = true; m_serverCertificateConfigurations = value; } /** *

Lists the server certificate configurations that are associated with the TLS * configuration.

*/ inline void SetServerCertificateConfigurations(Aws::Vector&& value) { m_serverCertificateConfigurationsHasBeenSet = true; m_serverCertificateConfigurations = std::move(value); } /** *

Lists the server certificate configurations that are associated with the TLS * configuration.

*/ inline TLSInspectionConfiguration& WithServerCertificateConfigurations(const Aws::Vector& value) { SetServerCertificateConfigurations(value); return *this;} /** *

Lists the server certificate configurations that are associated with the TLS * configuration.

*/ inline TLSInspectionConfiguration& WithServerCertificateConfigurations(Aws::Vector&& value) { SetServerCertificateConfigurations(std::move(value)); return *this;} /** *

Lists the server certificate configurations that are associated with the TLS * configuration.

*/ inline TLSInspectionConfiguration& AddServerCertificateConfigurations(const ServerCertificateConfiguration& value) { m_serverCertificateConfigurationsHasBeenSet = true; m_serverCertificateConfigurations.push_back(value); return *this; } /** *

Lists the server certificate configurations that are associated with the TLS * configuration.

*/ inline TLSInspectionConfiguration& AddServerCertificateConfigurations(ServerCertificateConfiguration&& value) { m_serverCertificateConfigurationsHasBeenSet = true; m_serverCertificateConfigurations.push_back(std::move(value)); return *this; } private: Aws::Vector m_serverCertificateConfigurations; bool m_serverCertificateConfigurationsHasBeenSet = false; }; } // namespace Model } // namespace NetworkFirewall } // namespace Aws