/** * 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 namespace Aws { namespace NetworkFirewall { namespace Model { /** */ class CreateTLSInspectionConfigurationRequest : public NetworkFirewallRequest { public: AWS_NETWORKFIREWALL_API CreateTLSInspectionConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateTLSInspectionConfiguration"; } AWS_NETWORKFIREWALL_API Aws::String SerializePayload() const override; AWS_NETWORKFIREWALL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

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 CreateTLSInspectionConfigurationRequest& 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 CreateTLSInspectionConfigurationRequest& 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 CreateTLSInspectionConfigurationRequest& WithTLSInspectionConfigurationName(const char* value) { SetTLSInspectionConfigurationName(value); return *this;} /** *

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.

*/ inline const TLSInspectionConfiguration& GetTLSInspectionConfiguration() const{ return m_tLSInspectionConfiguration; } /** *

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.

*/ inline bool TLSInspectionConfigurationHasBeenSet() const { return m_tLSInspectionConfigurationHasBeenSet; } /** *

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.

*/ inline void SetTLSInspectionConfiguration(const TLSInspectionConfiguration& value) { m_tLSInspectionConfigurationHasBeenSet = true; m_tLSInspectionConfiguration = value; } /** *

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.

*/ inline void SetTLSInspectionConfiguration(TLSInspectionConfiguration&& value) { m_tLSInspectionConfigurationHasBeenSet = true; m_tLSInspectionConfiguration = std::move(value); } /** *

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.

*/ inline CreateTLSInspectionConfigurationRequest& WithTLSInspectionConfiguration(const TLSInspectionConfiguration& value) { SetTLSInspectionConfiguration(value); return *this;} /** *

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.

*/ inline CreateTLSInspectionConfigurationRequest& WithTLSInspectionConfiguration(TLSInspectionConfiguration&& value) { SetTLSInspectionConfiguration(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 CreateTLSInspectionConfigurationRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description of the TLS inspection configuration.

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

A description of the TLS inspection configuration.

*/ inline CreateTLSInspectionConfigurationRequest& 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 CreateTLSInspectionConfigurationRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The key:value pairs to associate with the resource.

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

The key:value pairs to associate with the resource.

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

The key:value pairs to associate with the resource.

*/ inline CreateTLSInspectionConfigurationRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } inline const EncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } inline void SetEncryptionConfiguration(const EncryptionConfiguration& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; } inline void SetEncryptionConfiguration(EncryptionConfiguration&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); } inline CreateTLSInspectionConfigurationRequest& WithEncryptionConfiguration(const EncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;} inline CreateTLSInspectionConfigurationRequest& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} private: Aws::String m_tLSInspectionConfigurationName; bool m_tLSInspectionConfigurationNameHasBeenSet = false; TLSInspectionConfiguration m_tLSInspectionConfiguration; bool m_tLSInspectionConfigurationHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; EncryptionConfiguration m_encryptionConfiguration; bool m_encryptionConfigurationHasBeenSet = false; }; } // namespace Model } // namespace NetworkFirewall } // namespace Aws