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

Configures the associated Certificate Manager Secure Sockets Layer/Transport * Layer Security (SSL/TLS) server certificates and scope settings Network Firewall * uses to decrypt traffic in a TLSInspectionConfiguration. For information * about working with SSL/TLS certificates for TLS inspection, see * Requirements for using SSL/TLS server certficiates with TLS inspection * configurations in the Network Firewall Developer Guide.

*

If a server certificate that's associated with your * TLSInspectionConfiguration is revoked, deleted, or expired it can result * in client-side TLS errors.

See Also:

AWS * API Reference

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

The list of a server certificate configuration's Certificate Manager SSL/TLS * certificates.

*/ inline const Aws::Vector& GetServerCertificates() const{ return m_serverCertificates; } /** *

The list of a server certificate configuration's Certificate Manager SSL/TLS * certificates.

*/ inline bool ServerCertificatesHasBeenSet() const { return m_serverCertificatesHasBeenSet; } /** *

The list of a server certificate configuration's Certificate Manager SSL/TLS * certificates.

*/ inline void SetServerCertificates(const Aws::Vector& value) { m_serverCertificatesHasBeenSet = true; m_serverCertificates = value; } /** *

The list of a server certificate configuration's Certificate Manager SSL/TLS * certificates.

*/ inline void SetServerCertificates(Aws::Vector&& value) { m_serverCertificatesHasBeenSet = true; m_serverCertificates = std::move(value); } /** *

The list of a server certificate configuration's Certificate Manager SSL/TLS * certificates.

*/ inline ServerCertificateConfiguration& WithServerCertificates(const Aws::Vector& value) { SetServerCertificates(value); return *this;} /** *

The list of a server certificate configuration's Certificate Manager SSL/TLS * certificates.

*/ inline ServerCertificateConfiguration& WithServerCertificates(Aws::Vector&& value) { SetServerCertificates(std::move(value)); return *this;} /** *

The list of a server certificate configuration's Certificate Manager SSL/TLS * certificates.

*/ inline ServerCertificateConfiguration& AddServerCertificates(const ServerCertificate& value) { m_serverCertificatesHasBeenSet = true; m_serverCertificates.push_back(value); return *this; } /** *

The list of a server certificate configuration's Certificate Manager SSL/TLS * certificates.

*/ inline ServerCertificateConfiguration& AddServerCertificates(ServerCertificate&& value) { m_serverCertificatesHasBeenSet = true; m_serverCertificates.push_back(std::move(value)); return *this; } /** *

A list of a server certificate configuration's scopes.

*/ inline const Aws::Vector& GetScopes() const{ return m_scopes; } /** *

A list of a server certificate configuration's scopes.

*/ inline bool ScopesHasBeenSet() const { return m_scopesHasBeenSet; } /** *

A list of a server certificate configuration's scopes.

*/ inline void SetScopes(const Aws::Vector& value) { m_scopesHasBeenSet = true; m_scopes = value; } /** *

A list of a server certificate configuration's scopes.

*/ inline void SetScopes(Aws::Vector&& value) { m_scopesHasBeenSet = true; m_scopes = std::move(value); } /** *

A list of a server certificate configuration's scopes.

*/ inline ServerCertificateConfiguration& WithScopes(const Aws::Vector& value) { SetScopes(value); return *this;} /** *

A list of a server certificate configuration's scopes.

*/ inline ServerCertificateConfiguration& WithScopes(Aws::Vector&& value) { SetScopes(std::move(value)); return *this;} /** *

A list of a server certificate configuration's scopes.

*/ inline ServerCertificateConfiguration& AddScopes(const ServerCertificateScope& value) { m_scopesHasBeenSet = true; m_scopes.push_back(value); return *this; } /** *

A list of a server certificate configuration's scopes.

*/ inline ServerCertificateConfiguration& AddScopes(ServerCertificateScope&& value) { m_scopesHasBeenSet = true; m_scopes.push_back(std::move(value)); return *this; } private: Aws::Vector m_serverCertificates; bool m_serverCertificatesHasBeenSet = false; Aws::Vector m_scopes; bool m_scopesHasBeenSet = false; }; } // namespace Model } // namespace NetworkFirewall } // namespace Aws