/** * 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 AWS_APPMESH_API GatewayRouteTarget { public: GatewayRouteTarget(); GatewayRouteTarget(Aws::Utils::Json::JsonView jsonValue); GatewayRouteTarget& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

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: GatewayRouteVirtualService m_virtualService; bool m_virtualServiceHasBeenSet; }; } // namespace Model } // namespace AppMesh } // namespace Aws