/** * 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 outbound network traffic of an * App Runner service.

See Also:

AWS * API Reference

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

The type of egress configuration.

Set to DEFAULT for * access to resources hosted on public networks.

Set to VPC to * associate your service to a custom VPC specified by * VpcConnectorArn.

*/ inline const EgressType& GetEgressType() const{ return m_egressType; } /** *

The type of egress configuration.

Set to DEFAULT for * access to resources hosted on public networks.

Set to VPC to * associate your service to a custom VPC specified by * VpcConnectorArn.

*/ inline bool EgressTypeHasBeenSet() const { return m_egressTypeHasBeenSet; } /** *

The type of egress configuration.

Set to DEFAULT for * access to resources hosted on public networks.

Set to VPC to * associate your service to a custom VPC specified by * VpcConnectorArn.

*/ inline void SetEgressType(const EgressType& value) { m_egressTypeHasBeenSet = true; m_egressType = value; } /** *

The type of egress configuration.

Set to DEFAULT for * access to resources hosted on public networks.

Set to VPC to * associate your service to a custom VPC specified by * VpcConnectorArn.

*/ inline void SetEgressType(EgressType&& value) { m_egressTypeHasBeenSet = true; m_egressType = std::move(value); } /** *

The type of egress configuration.

Set to DEFAULT for * access to resources hosted on public networks.

Set to VPC to * associate your service to a custom VPC specified by * VpcConnectorArn.

*/ inline EgressConfiguration& WithEgressType(const EgressType& value) { SetEgressType(value); return *this;} /** *

The type of egress configuration.

Set to DEFAULT for * access to resources hosted on public networks.

Set to VPC to * associate your service to a custom VPC specified by * VpcConnectorArn.

*/ inline EgressConfiguration& WithEgressType(EgressType&& value) { SetEgressType(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the App Runner VPC connector that you want * to associate with your App Runner service. Only valid when EgressType = * VPC.

*/ inline const Aws::String& GetVpcConnectorArn() const{ return m_vpcConnectorArn; } /** *

The Amazon Resource Name (ARN) of the App Runner VPC connector that you want * to associate with your App Runner service. Only valid when EgressType = * VPC.

*/ inline bool VpcConnectorArnHasBeenSet() const { return m_vpcConnectorArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the App Runner VPC connector that you want * to associate with your App Runner service. Only valid when EgressType = * VPC.

*/ inline void SetVpcConnectorArn(const Aws::String& value) { m_vpcConnectorArnHasBeenSet = true; m_vpcConnectorArn = value; } /** *

The Amazon Resource Name (ARN) of the App Runner VPC connector that you want * to associate with your App Runner service. Only valid when EgressType = * VPC.

*/ inline void SetVpcConnectorArn(Aws::String&& value) { m_vpcConnectorArnHasBeenSet = true; m_vpcConnectorArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the App Runner VPC connector that you want * to associate with your App Runner service. Only valid when EgressType = * VPC.

*/ inline void SetVpcConnectorArn(const char* value) { m_vpcConnectorArnHasBeenSet = true; m_vpcConnectorArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the App Runner VPC connector that you want * to associate with your App Runner service. Only valid when EgressType = * VPC.

*/ inline EgressConfiguration& WithVpcConnectorArn(const Aws::String& value) { SetVpcConnectorArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the App Runner VPC connector that you want * to associate with your App Runner service. Only valid when EgressType = * VPC.

*/ inline EgressConfiguration& WithVpcConnectorArn(Aws::String&& value) { SetVpcConnectorArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the App Runner VPC connector that you want * to associate with your App Runner service. Only valid when EgressType = * VPC.

*/ inline EgressConfiguration& WithVpcConnectorArn(const char* value) { SetVpcConnectorArn(value); return *this;} private: EgressType m_egressType; bool m_egressTypeHasBeenSet = false; Aws::String m_vpcConnectorArn; bool m_vpcConnectorArnHasBeenSet = false; }; } // namespace Model } // namespace AppRunner } // namespace Aws