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

Information about the network function.

A network function instance is * a function in a function package .

See Also:

AWS * API Reference

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

State of the network function instance.

*/ inline const VnfOperationalState& GetVnfState() const{ return m_vnfState; } /** *

State of the network function instance.

*/ inline bool VnfStateHasBeenSet() const { return m_vnfStateHasBeenSet; } /** *

State of the network function instance.

*/ inline void SetVnfState(const VnfOperationalState& value) { m_vnfStateHasBeenSet = true; m_vnfState = value; } /** *

State of the network function instance.

*/ inline void SetVnfState(VnfOperationalState&& value) { m_vnfStateHasBeenSet = true; m_vnfState = std::move(value); } /** *

State of the network function instance.

*/ inline GetSolVnfInfo& WithVnfState(const VnfOperationalState& value) { SetVnfState(value); return *this;} /** *

State of the network function instance.

*/ inline GetSolVnfInfo& WithVnfState(VnfOperationalState&& value) { SetVnfState(std::move(value)); return *this;} /** *

Compute info used by the network function instance.

*/ inline const Aws::Vector& GetVnfcResourceInfo() const{ return m_vnfcResourceInfo; } /** *

Compute info used by the network function instance.

*/ inline bool VnfcResourceInfoHasBeenSet() const { return m_vnfcResourceInfoHasBeenSet; } /** *

Compute info used by the network function instance.

*/ inline void SetVnfcResourceInfo(const Aws::Vector& value) { m_vnfcResourceInfoHasBeenSet = true; m_vnfcResourceInfo = value; } /** *

Compute info used by the network function instance.

*/ inline void SetVnfcResourceInfo(Aws::Vector&& value) { m_vnfcResourceInfoHasBeenSet = true; m_vnfcResourceInfo = std::move(value); } /** *

Compute info used by the network function instance.

*/ inline GetSolVnfInfo& WithVnfcResourceInfo(const Aws::Vector& value) { SetVnfcResourceInfo(value); return *this;} /** *

Compute info used by the network function instance.

*/ inline GetSolVnfInfo& WithVnfcResourceInfo(Aws::Vector&& value) { SetVnfcResourceInfo(std::move(value)); return *this;} /** *

Compute info used by the network function instance.

*/ inline GetSolVnfInfo& AddVnfcResourceInfo(const GetSolVnfcResourceInfo& value) { m_vnfcResourceInfoHasBeenSet = true; m_vnfcResourceInfo.push_back(value); return *this; } /** *

Compute info used by the network function instance.

*/ inline GetSolVnfInfo& AddVnfcResourceInfo(GetSolVnfcResourceInfo&& value) { m_vnfcResourceInfoHasBeenSet = true; m_vnfcResourceInfo.push_back(std::move(value)); return *this; } private: VnfOperationalState m_vnfState; bool m_vnfStateHasBeenSet = false; Aws::Vector m_vnfcResourceInfo; bool m_vnfcResourceInfoHasBeenSet = false; }; } // namespace Model } // namespace tnb } // namespace Aws