/** * 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 a gateway route target.

See Also:

* AWS * API Reference

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

The port number of the gateway route target.

*/ inline int GetPort() const{ return m_port; } /** *

The port number of the gateway route target.

*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *

The port number of the gateway route target.

*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *

The port number of the gateway route target.

*/ inline GatewayRouteTarget& WithPort(int value) { SetPort(value); return *this;} /** *

An object that represents a virtual service gateway route target.

*/ inline const GatewayRouteVirtualService& GetVirtualService() const{ return m_virtualService; } /** *

An object that represents a virtual service gateway route target.

*/ inline bool VirtualServiceHasBeenSet() const { return m_virtualServiceHasBeenSet; } /** *

An object that represents a virtual service gateway route target.

*/ inline void SetVirtualService(const GatewayRouteVirtualService& value) { m_virtualServiceHasBeenSet = true; m_virtualService = value; } /** *

An object that represents a virtual service gateway route target.

*/ inline void SetVirtualService(GatewayRouteVirtualService&& value) { m_virtualServiceHasBeenSet = true; m_virtualService = std::move(value); } /** *

An object that represents a virtual service gateway route target.

*/ inline GatewayRouteTarget& WithVirtualService(const GatewayRouteVirtualService& value) { SetVirtualService(value); return *this;} /** *

An object that represents a virtual service gateway route target.

*/ inline GatewayRouteTarget& WithVirtualService(GatewayRouteVirtualService&& value) { SetVirtualService(std::move(value)); return *this;} private: int m_port; bool m_portHasBeenSet = false; GatewayRouteVirtualService m_virtualService; bool m_virtualServiceHasBeenSet = false; }; } // namespace Model } // namespace AppMesh } // namespace Aws