/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include 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
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