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

An object that represents the action to take if a match is * determined.

See Also:

AWS * API Reference

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

An object that represents the target that traffic is routed to when a request * matches the gateway route.

*/ inline const GatewayRouteTarget& GetTarget() const{ return m_target; } /** *

An object that represents the target that traffic is routed to when a request * matches the gateway route.

*/ inline bool TargetHasBeenSet() const { return m_targetHasBeenSet; } /** *

An object that represents the target that traffic is routed to when a request * matches the gateway route.

*/ inline void SetTarget(const GatewayRouteTarget& value) { m_targetHasBeenSet = true; m_target = value; } /** *

An object that represents the target that traffic is routed to when a request * matches the gateway route.

*/ inline void SetTarget(GatewayRouteTarget&& value) { m_targetHasBeenSet = true; m_target = std::move(value); } /** *

An object that represents the target that traffic is routed to when a request * matches the gateway route.

*/ inline HttpGatewayRouteAction& WithTarget(const GatewayRouteTarget& value) { SetTarget(value); return *this;} /** *

An object that represents the target that traffic is routed to when a request * matches the gateway route.

*/ inline HttpGatewayRouteAction& WithTarget(GatewayRouteTarget&& value) { SetTarget(std::move(value)); return *this;} private: GatewayRouteTarget m_target; bool m_targetHasBeenSet; }; } // namespace Model } // namespace AppMesh } // namespace Aws