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

Contains an IoT SiteWise Monitor resource ID for a portal or * project.

See Also:

AWS * API Reference

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

A portal resource.

*/ inline const PortalResource& GetPortal() const{ return m_portal; } /** *

A portal resource.

*/ inline bool PortalHasBeenSet() const { return m_portalHasBeenSet; } /** *

A portal resource.

*/ inline void SetPortal(const PortalResource& value) { m_portalHasBeenSet = true; m_portal = value; } /** *

A portal resource.

*/ inline void SetPortal(PortalResource&& value) { m_portalHasBeenSet = true; m_portal = std::move(value); } /** *

A portal resource.

*/ inline Resource& WithPortal(const PortalResource& value) { SetPortal(value); return *this;} /** *

A portal resource.

*/ inline Resource& WithPortal(PortalResource&& value) { SetPortal(std::move(value)); return *this;} /** *

A project resource.

*/ inline const ProjectResource& GetProject() const{ return m_project; } /** *

A project resource.

*/ inline bool ProjectHasBeenSet() const { return m_projectHasBeenSet; } /** *

A project resource.

*/ inline void SetProject(const ProjectResource& value) { m_projectHasBeenSet = true; m_project = value; } /** *

A project resource.

*/ inline void SetProject(ProjectResource&& value) { m_projectHasBeenSet = true; m_project = std::move(value); } /** *

A project resource.

*/ inline Resource& WithProject(const ProjectResource& value) { SetProject(value); return *this;} /** *

A project resource.

*/ inline Resource& WithProject(ProjectResource&& value) { SetProject(std::move(value)); return *this;} private: PortalResource m_portal; bool m_portalHasBeenSet = false; ProjectResource m_project; bool m_projectHasBeenSet = false; }; } // namespace Model } // namespace IoTSiteWise } // namespace Aws