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

Information about the resource that is being monitored, including the name * of the resource, the type of resource, and whether or not permission is given to * DevOps Guru to access that resource.

See Also:

AWS * API Reference

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

The name of the resource being monitored.

*/ inline const Aws::String& GetMonitoredResourceName() const{ return m_monitoredResourceName; } /** *

The name of the resource being monitored.

*/ inline bool MonitoredResourceNameHasBeenSet() const { return m_monitoredResourceNameHasBeenSet; } /** *

The name of the resource being monitored.

*/ inline void SetMonitoredResourceName(const Aws::String& value) { m_monitoredResourceNameHasBeenSet = true; m_monitoredResourceName = value; } /** *

The name of the resource being monitored.

*/ inline void SetMonitoredResourceName(Aws::String&& value) { m_monitoredResourceNameHasBeenSet = true; m_monitoredResourceName = std::move(value); } /** *

The name of the resource being monitored.

*/ inline void SetMonitoredResourceName(const char* value) { m_monitoredResourceNameHasBeenSet = true; m_monitoredResourceName.assign(value); } /** *

The name of the resource being monitored.

*/ inline MonitoredResourceIdentifier& WithMonitoredResourceName(const Aws::String& value) { SetMonitoredResourceName(value); return *this;} /** *

The name of the resource being monitored.

*/ inline MonitoredResourceIdentifier& WithMonitoredResourceName(Aws::String&& value) { SetMonitoredResourceName(std::move(value)); return *this;} /** *

The name of the resource being monitored.

*/ inline MonitoredResourceIdentifier& WithMonitoredResourceName(const char* value) { SetMonitoredResourceName(value); return *this;} /** *

The type of resource being monitored.

*/ inline const Aws::String& GetType() const{ return m_type; } /** *

The type of resource being monitored.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of resource being monitored.

*/ inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of resource being monitored.

*/ inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of resource being monitored.

*/ inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } /** *

The type of resource being monitored.

*/ inline MonitoredResourceIdentifier& WithType(const Aws::String& value) { SetType(value); return *this;} /** *

The type of resource being monitored.

*/ inline MonitoredResourceIdentifier& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} /** *

The type of resource being monitored.

*/ inline MonitoredResourceIdentifier& WithType(const char* value) { SetType(value); return *this;} /** *

The permission status of a resource.

*/ inline const ResourcePermission& GetResourcePermission() const{ return m_resourcePermission; } /** *

The permission status of a resource.

*/ inline bool ResourcePermissionHasBeenSet() const { return m_resourcePermissionHasBeenSet; } /** *

The permission status of a resource.

*/ inline void SetResourcePermission(const ResourcePermission& value) { m_resourcePermissionHasBeenSet = true; m_resourcePermission = value; } /** *

The permission status of a resource.

*/ inline void SetResourcePermission(ResourcePermission&& value) { m_resourcePermissionHasBeenSet = true; m_resourcePermission = std::move(value); } /** *

The permission status of a resource.

*/ inline MonitoredResourceIdentifier& WithResourcePermission(const ResourcePermission& value) { SetResourcePermission(value); return *this;} /** *

The permission status of a resource.

*/ inline MonitoredResourceIdentifier& WithResourcePermission(ResourcePermission&& value) { SetResourcePermission(std::move(value)); return *this;} /** *

The time at which DevOps Guru last updated this resource.

*/ inline const Aws::Utils::DateTime& GetLastUpdated() const{ return m_lastUpdated; } /** *

The time at which DevOps Guru last updated this resource.

*/ inline bool LastUpdatedHasBeenSet() const { return m_lastUpdatedHasBeenSet; } /** *

The time at which DevOps Guru last updated this resource.

*/ inline void SetLastUpdated(const Aws::Utils::DateTime& value) { m_lastUpdatedHasBeenSet = true; m_lastUpdated = value; } /** *

The time at which DevOps Guru last updated this resource.

*/ inline void SetLastUpdated(Aws::Utils::DateTime&& value) { m_lastUpdatedHasBeenSet = true; m_lastUpdated = std::move(value); } /** *

The time at which DevOps Guru last updated this resource.

*/ inline MonitoredResourceIdentifier& WithLastUpdated(const Aws::Utils::DateTime& value) { SetLastUpdated(value); return *this;} /** *

The time at which DevOps Guru last updated this resource.

*/ inline MonitoredResourceIdentifier& WithLastUpdated(Aws::Utils::DateTime&& value) { SetLastUpdated(std::move(value)); return *this;} inline const ResourceCollection& GetResourceCollection() const{ return m_resourceCollection; } inline bool ResourceCollectionHasBeenSet() const { return m_resourceCollectionHasBeenSet; } inline void SetResourceCollection(const ResourceCollection& value) { m_resourceCollectionHasBeenSet = true; m_resourceCollection = value; } inline void SetResourceCollection(ResourceCollection&& value) { m_resourceCollectionHasBeenSet = true; m_resourceCollection = std::move(value); } inline MonitoredResourceIdentifier& WithResourceCollection(const ResourceCollection& value) { SetResourceCollection(value); return *this;} inline MonitoredResourceIdentifier& WithResourceCollection(ResourceCollection&& value) { SetResourceCollection(std::move(value)); return *this;} private: Aws::String m_monitoredResourceName; bool m_monitoredResourceNameHasBeenSet = false; Aws::String m_type; bool m_typeHasBeenSet = false; ResourcePermission m_resourcePermission; bool m_resourcePermissionHasBeenSet = false; Aws::Utils::DateTime m_lastUpdated; bool m_lastUpdatedHasBeenSet = false; ResourceCollection m_resourceCollection; bool m_resourceCollectionHasBeenSet = false; }; } // namespace Model } // namespace DevOpsGuru } // namespace Aws