/** * 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 backends that a virtual node is expected to * send outbound traffic to.

See Also:

AWS API * Reference

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

Specifies a virtual service to use as a backend.

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

Specifies a virtual service to use as a backend.

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

Specifies a virtual service to use as a backend.

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

Specifies a virtual service to use as a backend.

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

Specifies a virtual service to use as a backend.

*/ inline Backend& WithVirtualService(const VirtualServiceBackend& value) { SetVirtualService(value); return *this;} /** *

Specifies a virtual service to use as a backend.

*/ inline Backend& WithVirtualService(VirtualServiceBackend&& value) { SetVirtualService(std::move(value)); return *this;} private: VirtualServiceBackend m_virtualService; bool m_virtualServiceHasBeenSet = false; }; } // namespace Model } // namespace AppMesh } // namespace Aws