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

Information, including performance data and capacity usage, provided by * DataSync Discovery about a resource in your on-premises storage * system.

See Also:

AWS * API Reference

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

The time when DataSync Discovery collected this information from the * resource.

*/ inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; } /** *

The time when DataSync Discovery collected this information from the * resource.

*/ inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } /** *

The time when DataSync Discovery collected this information from the * resource.

*/ inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; } /** *

The time when DataSync Discovery collected this information from the * resource.

*/ inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); } /** *

The time when DataSync Discovery collected this information from the * resource.

*/ inline ResourceMetrics& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;} /** *

The time when DataSync Discovery collected this information from the * resource.

*/ inline ResourceMetrics& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;} /** *

The types of performance data that DataSync Discovery collects about the * on-premises storage system resource.

*/ inline const P95Metrics& GetP95Metrics() const{ return m_p95Metrics; } /** *

The types of performance data that DataSync Discovery collects about the * on-premises storage system resource.

*/ inline bool P95MetricsHasBeenSet() const { return m_p95MetricsHasBeenSet; } /** *

The types of performance data that DataSync Discovery collects about the * on-premises storage system resource.

*/ inline void SetP95Metrics(const P95Metrics& value) { m_p95MetricsHasBeenSet = true; m_p95Metrics = value; } /** *

The types of performance data that DataSync Discovery collects about the * on-premises storage system resource.

*/ inline void SetP95Metrics(P95Metrics&& value) { m_p95MetricsHasBeenSet = true; m_p95Metrics = std::move(value); } /** *

The types of performance data that DataSync Discovery collects about the * on-premises storage system resource.

*/ inline ResourceMetrics& WithP95Metrics(const P95Metrics& value) { SetP95Metrics(value); return *this;} /** *

The types of performance data that DataSync Discovery collects about the * on-premises storage system resource.

*/ inline ResourceMetrics& WithP95Metrics(P95Metrics&& value) { SetP95Metrics(std::move(value)); return *this;} /** *

The storage capacity of the on-premises storage system resource.

*/ inline const Capacity& GetCapacity() const{ return m_capacity; } /** *

The storage capacity of the on-premises storage system resource.

*/ inline bool CapacityHasBeenSet() const { return m_capacityHasBeenSet; } /** *

The storage capacity of the on-premises storage system resource.

*/ inline void SetCapacity(const Capacity& value) { m_capacityHasBeenSet = true; m_capacity = value; } /** *

The storage capacity of the on-premises storage system resource.

*/ inline void SetCapacity(Capacity&& value) { m_capacityHasBeenSet = true; m_capacity = std::move(value); } /** *

The storage capacity of the on-premises storage system resource.

*/ inline ResourceMetrics& WithCapacity(const Capacity& value) { SetCapacity(value); return *this;} /** *

The storage capacity of the on-premises storage system resource.

*/ inline ResourceMetrics& WithCapacity(Capacity&& value) { SetCapacity(std::move(value)); return *this;} /** *

The universally unique identifier (UUID) of the on-premises storage system * resource.

*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } /** *

The universally unique identifier (UUID) of the on-premises storage system * resource.

*/ inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } /** *

The universally unique identifier (UUID) of the on-premises storage system * resource.

*/ inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } /** *

The universally unique identifier (UUID) of the on-premises storage system * resource.

*/ inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } /** *

The universally unique identifier (UUID) of the on-premises storage system * resource.

*/ inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } /** *

The universally unique identifier (UUID) of the on-premises storage system * resource.

*/ inline ResourceMetrics& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *

The universally unique identifier (UUID) of the on-premises storage system * resource.

*/ inline ResourceMetrics& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} /** *

The universally unique identifier (UUID) of the on-premises storage system * resource.

*/ inline ResourceMetrics& WithResourceId(const char* value) { SetResourceId(value); return *this;} /** *

The type of on-premises storage system resource.

*/ inline const DiscoveryResourceType& GetResourceType() const{ return m_resourceType; } /** *

The type of on-premises storage system resource.

*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *

The type of on-premises storage system resource.

*/ inline void SetResourceType(const DiscoveryResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *

The type of on-premises storage system resource.

*/ inline void SetResourceType(DiscoveryResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *

The type of on-premises storage system resource.

*/ inline ResourceMetrics& WithResourceType(const DiscoveryResourceType& value) { SetResourceType(value); return *this;} /** *

The type of on-premises storage system resource.

*/ inline ResourceMetrics& WithResourceType(DiscoveryResourceType&& value) { SetResourceType(std::move(value)); return *this;} private: Aws::Utils::DateTime m_timestamp; bool m_timestampHasBeenSet = false; P95Metrics m_p95Metrics; bool m_p95MetricsHasBeenSet = false; Capacity m_capacity; bool m_capacityHasBeenSet = false; Aws::String m_resourceId; bool m_resourceIdHasBeenSet = false; DiscoveryResourceType m_resourceType; bool m_resourceTypeHasBeenSet = false; }; } // namespace Model } // namespace DataSync } // namespace Aws