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

Describes configuration settings related to network traffic of an App Runner * service. Consists of embedded objects for each configurable network * feature.

See Also:

AWS * API Reference

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

Network configuration settings for outbound message traffic.

*/ inline const EgressConfiguration& GetEgressConfiguration() const{ return m_egressConfiguration; } /** *

Network configuration settings for outbound message traffic.

*/ inline bool EgressConfigurationHasBeenSet() const { return m_egressConfigurationHasBeenSet; } /** *

Network configuration settings for outbound message traffic.

*/ inline void SetEgressConfiguration(const EgressConfiguration& value) { m_egressConfigurationHasBeenSet = true; m_egressConfiguration = value; } /** *

Network configuration settings for outbound message traffic.

*/ inline void SetEgressConfiguration(EgressConfiguration&& value) { m_egressConfigurationHasBeenSet = true; m_egressConfiguration = std::move(value); } /** *

Network configuration settings for outbound message traffic.

*/ inline NetworkConfiguration& WithEgressConfiguration(const EgressConfiguration& value) { SetEgressConfiguration(value); return *this;} /** *

Network configuration settings for outbound message traffic.

*/ inline NetworkConfiguration& WithEgressConfiguration(EgressConfiguration&& value) { SetEgressConfiguration(std::move(value)); return *this;} /** *

Network configuration settings for inbound message traffic.

*/ inline const IngressConfiguration& GetIngressConfiguration() const{ return m_ingressConfiguration; } /** *

Network configuration settings for inbound message traffic.

*/ inline bool IngressConfigurationHasBeenSet() const { return m_ingressConfigurationHasBeenSet; } /** *

Network configuration settings for inbound message traffic.

*/ inline void SetIngressConfiguration(const IngressConfiguration& value) { m_ingressConfigurationHasBeenSet = true; m_ingressConfiguration = value; } /** *

Network configuration settings for inbound message traffic.

*/ inline void SetIngressConfiguration(IngressConfiguration&& value) { m_ingressConfigurationHasBeenSet = true; m_ingressConfiguration = std::move(value); } /** *

Network configuration settings for inbound message traffic.

*/ inline NetworkConfiguration& WithIngressConfiguration(const IngressConfiguration& value) { SetIngressConfiguration(value); return *this;} /** *

Network configuration settings for inbound message traffic.

*/ inline NetworkConfiguration& WithIngressConfiguration(IngressConfiguration&& value) { SetIngressConfiguration(std::move(value)); return *this;} private: EgressConfiguration m_egressConfiguration; bool m_egressConfigurationHasBeenSet = false; IngressConfiguration m_ingressConfiguration; bool m_ingressConfigurationHasBeenSet = false; }; } // namespace Model } // namespace AppRunner } // namespace Aws