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

The high-level properties of a TLS inspection configuration. This, along with * the TLSInspectionConfiguration, define the TLS inspection * configuration. You can retrieve all objects for a TLS inspection configuration * by calling DescribeTLSInspectionConfiguration.

See * Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) of the TLS inspection configuration.

*/ inline const Aws::String& GetTLSInspectionConfigurationArn() const{ return m_tLSInspectionConfigurationArn; } /** *

The Amazon Resource Name (ARN) of the TLS inspection configuration.

*/ inline bool TLSInspectionConfigurationArnHasBeenSet() const { return m_tLSInspectionConfigurationArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the TLS inspection configuration.

*/ inline void SetTLSInspectionConfigurationArn(const Aws::String& value) { m_tLSInspectionConfigurationArnHasBeenSet = true; m_tLSInspectionConfigurationArn = value; } /** *

The Amazon Resource Name (ARN) of the TLS inspection configuration.

*/ inline void SetTLSInspectionConfigurationArn(Aws::String&& value) { m_tLSInspectionConfigurationArnHasBeenSet = true; m_tLSInspectionConfigurationArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the TLS inspection configuration.

*/ inline void SetTLSInspectionConfigurationArn(const char* value) { m_tLSInspectionConfigurationArnHasBeenSet = true; m_tLSInspectionConfigurationArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the TLS inspection configuration.

*/ inline TLSInspectionConfigurationResponse& WithTLSInspectionConfigurationArn(const Aws::String& value) { SetTLSInspectionConfigurationArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the TLS inspection configuration.

*/ inline TLSInspectionConfigurationResponse& WithTLSInspectionConfigurationArn(Aws::String&& value) { SetTLSInspectionConfigurationArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the TLS inspection configuration.

*/ inline TLSInspectionConfigurationResponse& WithTLSInspectionConfigurationArn(const char* value) { SetTLSInspectionConfigurationArn(value); return *this;} /** *

The descriptive name of the TLS inspection configuration. You can't change * the name of a TLS inspection configuration after you create it.

*/ inline const Aws::String& GetTLSInspectionConfigurationName() const{ return m_tLSInspectionConfigurationName; } /** *

The descriptive name of the TLS inspection configuration. You can't change * the name of a TLS inspection configuration after you create it.

*/ inline bool TLSInspectionConfigurationNameHasBeenSet() const { return m_tLSInspectionConfigurationNameHasBeenSet; } /** *

The descriptive name of the TLS inspection configuration. You can't change * the name of a TLS inspection configuration after you create it.

*/ inline void SetTLSInspectionConfigurationName(const Aws::String& value) { m_tLSInspectionConfigurationNameHasBeenSet = true; m_tLSInspectionConfigurationName = value; } /** *

The descriptive name of the TLS inspection configuration. You can't change * the name of a TLS inspection configuration after you create it.

*/ inline void SetTLSInspectionConfigurationName(Aws::String&& value) { m_tLSInspectionConfigurationNameHasBeenSet = true; m_tLSInspectionConfigurationName = std::move(value); } /** *

The descriptive name of the TLS inspection configuration. You can't change * the name of a TLS inspection configuration after you create it.

*/ inline void SetTLSInspectionConfigurationName(const char* value) { m_tLSInspectionConfigurationNameHasBeenSet = true; m_tLSInspectionConfigurationName.assign(value); } /** *

The descriptive name of the TLS inspection configuration. You can't change * the name of a TLS inspection configuration after you create it.

*/ inline TLSInspectionConfigurationResponse& WithTLSInspectionConfigurationName(const Aws::String& value) { SetTLSInspectionConfigurationName(value); return *this;} /** *

The descriptive name of the TLS inspection configuration. You can't change * the name of a TLS inspection configuration after you create it.

*/ inline TLSInspectionConfigurationResponse& WithTLSInspectionConfigurationName(Aws::String&& value) { SetTLSInspectionConfigurationName(std::move(value)); return *this;} /** *

The descriptive name of the TLS inspection configuration. You can't change * the name of a TLS inspection configuration after you create it.

*/ inline TLSInspectionConfigurationResponse& WithTLSInspectionConfigurationName(const char* value) { SetTLSInspectionConfigurationName(value); return *this;} /** *

A unique identifier for the TLS inspection configuration. This ID is returned * in the responses to create and list commands. You provide it to operations such * as update and delete.

*/ inline const Aws::String& GetTLSInspectionConfigurationId() const{ return m_tLSInspectionConfigurationId; } /** *

A unique identifier for the TLS inspection configuration. This ID is returned * in the responses to create and list commands. You provide it to operations such * as update and delete.

*/ inline bool TLSInspectionConfigurationIdHasBeenSet() const { return m_tLSInspectionConfigurationIdHasBeenSet; } /** *

A unique identifier for the TLS inspection configuration. This ID is returned * in the responses to create and list commands. You provide it to operations such * as update and delete.

*/ inline void SetTLSInspectionConfigurationId(const Aws::String& value) { m_tLSInspectionConfigurationIdHasBeenSet = true; m_tLSInspectionConfigurationId = value; } /** *

A unique identifier for the TLS inspection configuration. This ID is returned * in the responses to create and list commands. You provide it to operations such * as update and delete.

*/ inline void SetTLSInspectionConfigurationId(Aws::String&& value) { m_tLSInspectionConfigurationIdHasBeenSet = true; m_tLSInspectionConfigurationId = std::move(value); } /** *

A unique identifier for the TLS inspection configuration. This ID is returned * in the responses to create and list commands. You provide it to operations such * as update and delete.

*/ inline void SetTLSInspectionConfigurationId(const char* value) { m_tLSInspectionConfigurationIdHasBeenSet = true; m_tLSInspectionConfigurationId.assign(value); } /** *

A unique identifier for the TLS inspection configuration. This ID is returned * in the responses to create and list commands. You provide it to operations such * as update and delete.

*/ inline TLSInspectionConfigurationResponse& WithTLSInspectionConfigurationId(const Aws::String& value) { SetTLSInspectionConfigurationId(value); return *this;} /** *

A unique identifier for the TLS inspection configuration. This ID is returned * in the responses to create and list commands. You provide it to operations such * as update and delete.

*/ inline TLSInspectionConfigurationResponse& WithTLSInspectionConfigurationId(Aws::String&& value) { SetTLSInspectionConfigurationId(std::move(value)); return *this;} /** *

A unique identifier for the TLS inspection configuration. This ID is returned * in the responses to create and list commands. You provide it to operations such * as update and delete.

*/ inline TLSInspectionConfigurationResponse& WithTLSInspectionConfigurationId(const char* value) { SetTLSInspectionConfigurationId(value); return *this;} /** *

Detailed information about the current status of a * TLSInspectionConfiguration. You can retrieve this for a TLS inspection * configuration by calling DescribeTLSInspectionConfiguration and providing * the TLS inspection configuration name and ARN.

*/ inline const ResourceStatus& GetTLSInspectionConfigurationStatus() const{ return m_tLSInspectionConfigurationStatus; } /** *

Detailed information about the current status of a * TLSInspectionConfiguration. You can retrieve this for a TLS inspection * configuration by calling DescribeTLSInspectionConfiguration and providing * the TLS inspection configuration name and ARN.

*/ inline bool TLSInspectionConfigurationStatusHasBeenSet() const { return m_tLSInspectionConfigurationStatusHasBeenSet; } /** *

Detailed information about the current status of a * TLSInspectionConfiguration. You can retrieve this for a TLS inspection * configuration by calling DescribeTLSInspectionConfiguration and providing * the TLS inspection configuration name and ARN.

*/ inline void SetTLSInspectionConfigurationStatus(const ResourceStatus& value) { m_tLSInspectionConfigurationStatusHasBeenSet = true; m_tLSInspectionConfigurationStatus = value; } /** *

Detailed information about the current status of a * TLSInspectionConfiguration. You can retrieve this for a TLS inspection * configuration by calling DescribeTLSInspectionConfiguration and providing * the TLS inspection configuration name and ARN.

*/ inline void SetTLSInspectionConfigurationStatus(ResourceStatus&& value) { m_tLSInspectionConfigurationStatusHasBeenSet = true; m_tLSInspectionConfigurationStatus = std::move(value); } /** *

Detailed information about the current status of a * TLSInspectionConfiguration. You can retrieve this for a TLS inspection * configuration by calling DescribeTLSInspectionConfiguration and providing * the TLS inspection configuration name and ARN.

*/ inline TLSInspectionConfigurationResponse& WithTLSInspectionConfigurationStatus(const ResourceStatus& value) { SetTLSInspectionConfigurationStatus(value); return *this;} /** *

Detailed information about the current status of a * TLSInspectionConfiguration. You can retrieve this for a TLS inspection * configuration by calling DescribeTLSInspectionConfiguration and providing * the TLS inspection configuration name and ARN.

*/ inline TLSInspectionConfigurationResponse& WithTLSInspectionConfigurationStatus(ResourceStatus&& value) { SetTLSInspectionConfigurationStatus(std::move(value)); return *this;} /** *

A description of the TLS inspection configuration.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A description of the TLS inspection configuration.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A description of the TLS inspection configuration.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A description of the TLS inspection configuration.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A description of the TLS inspection configuration.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A description of the TLS inspection configuration.

*/ inline TLSInspectionConfigurationResponse& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description of the TLS inspection configuration.

*/ inline TLSInspectionConfigurationResponse& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A description of the TLS inspection configuration.

*/ inline TLSInspectionConfigurationResponse& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The key:value pairs to associate with the resource.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

The key:value pairs to associate with the resource.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The key:value pairs to associate with the resource.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The key:value pairs to associate with the resource.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The key:value pairs to associate with the resource.

*/ inline TLSInspectionConfigurationResponse& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The key:value pairs to associate with the resource.

*/ inline TLSInspectionConfigurationResponse& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The key:value pairs to associate with the resource.

*/ inline TLSInspectionConfigurationResponse& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

The key:value pairs to associate with the resource.

*/ inline TLSInspectionConfigurationResponse& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The last time that the TLS inspection configuration was changed.

*/ inline const Aws::Utils::DateTime& GetLastModifiedTime() const{ return m_lastModifiedTime; } /** *

The last time that the TLS inspection configuration was changed.

*/ inline bool LastModifiedTimeHasBeenSet() const { return m_lastModifiedTimeHasBeenSet; } /** *

The last time that the TLS inspection configuration was changed.

*/ inline void SetLastModifiedTime(const Aws::Utils::DateTime& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = value; } /** *

The last time that the TLS inspection configuration was changed.

*/ inline void SetLastModifiedTime(Aws::Utils::DateTime&& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = std::move(value); } /** *

The last time that the TLS inspection configuration was changed.

*/ inline TLSInspectionConfigurationResponse& WithLastModifiedTime(const Aws::Utils::DateTime& value) { SetLastModifiedTime(value); return *this;} /** *

The last time that the TLS inspection configuration was changed.

*/ inline TLSInspectionConfigurationResponse& WithLastModifiedTime(Aws::Utils::DateTime&& value) { SetLastModifiedTime(std::move(value)); return *this;} /** *

The number of firewall policies that use this TLS inspection * configuration.

*/ inline int GetNumberOfAssociations() const{ return m_numberOfAssociations; } /** *

The number of firewall policies that use this TLS inspection * configuration.

*/ inline bool NumberOfAssociationsHasBeenSet() const { return m_numberOfAssociationsHasBeenSet; } /** *

The number of firewall policies that use this TLS inspection * configuration.

*/ inline void SetNumberOfAssociations(int value) { m_numberOfAssociationsHasBeenSet = true; m_numberOfAssociations = value; } /** *

The number of firewall policies that use this TLS inspection * configuration.

*/ inline TLSInspectionConfigurationResponse& WithNumberOfAssociations(int value) { SetNumberOfAssociations(value); return *this;} /** *

A complex type that contains the Amazon Web Services KMS encryption * configuration settings for your TLS inspection configuration.

*/ inline const EncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } /** *

A complex type that contains the Amazon Web Services KMS encryption * configuration settings for your TLS inspection configuration.

*/ inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } /** *

A complex type that contains the Amazon Web Services KMS encryption * configuration settings for your TLS inspection configuration.

*/ inline void SetEncryptionConfiguration(const EncryptionConfiguration& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; } /** *

A complex type that contains the Amazon Web Services KMS encryption * configuration settings for your TLS inspection configuration.

*/ inline void SetEncryptionConfiguration(EncryptionConfiguration&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); } /** *

A complex type that contains the Amazon Web Services KMS encryption * configuration settings for your TLS inspection configuration.

*/ inline TLSInspectionConfigurationResponse& WithEncryptionConfiguration(const EncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;} /** *

A complex type that contains the Amazon Web Services KMS encryption * configuration settings for your TLS inspection configuration.

*/ inline TLSInspectionConfigurationResponse& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} /** *

A list of the certificates associated with the TLS inspection * configuration.

*/ inline const Aws::Vector& GetCertificates() const{ return m_certificates; } /** *

A list of the certificates associated with the TLS inspection * configuration.

*/ inline bool CertificatesHasBeenSet() const { return m_certificatesHasBeenSet; } /** *

A list of the certificates associated with the TLS inspection * configuration.

*/ inline void SetCertificates(const Aws::Vector& value) { m_certificatesHasBeenSet = true; m_certificates = value; } /** *

A list of the certificates associated with the TLS inspection * configuration.

*/ inline void SetCertificates(Aws::Vector&& value) { m_certificatesHasBeenSet = true; m_certificates = std::move(value); } /** *

A list of the certificates associated with the TLS inspection * configuration.

*/ inline TLSInspectionConfigurationResponse& WithCertificates(const Aws::Vector& value) { SetCertificates(value); return *this;} /** *

A list of the certificates associated with the TLS inspection * configuration.

*/ inline TLSInspectionConfigurationResponse& WithCertificates(Aws::Vector&& value) { SetCertificates(std::move(value)); return *this;} /** *

A list of the certificates associated with the TLS inspection * configuration.

*/ inline TLSInspectionConfigurationResponse& AddCertificates(const TlsCertificateData& value) { m_certificatesHasBeenSet = true; m_certificates.push_back(value); return *this; } /** *

A list of the certificates associated with the TLS inspection * configuration.

*/ inline TLSInspectionConfigurationResponse& AddCertificates(TlsCertificateData&& value) { m_certificatesHasBeenSet = true; m_certificates.push_back(std::move(value)); return *this; } private: Aws::String m_tLSInspectionConfigurationArn; bool m_tLSInspectionConfigurationArnHasBeenSet = false; Aws::String m_tLSInspectionConfigurationName; bool m_tLSInspectionConfigurationNameHasBeenSet = false; Aws::String m_tLSInspectionConfigurationId; bool m_tLSInspectionConfigurationIdHasBeenSet = false; ResourceStatus m_tLSInspectionConfigurationStatus; bool m_tLSInspectionConfigurationStatusHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedTime; bool m_lastModifiedTimeHasBeenSet = false; int m_numberOfAssociations; bool m_numberOfAssociationsHasBeenSet = false; EncryptionConfiguration m_encryptionConfiguration; bool m_encryptionConfigurationHasBeenSet = false; Aws::Vector m_certificates; bool m_certificatesHasBeenSet = false; }; } // namespace Model } // namespace NetworkFirewall } // namespace Aws