/** * 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 { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace PI { namespace Model { class GetResourceMetadataResult { public: AWS_PI_API GetResourceMetadataResult(); AWS_PI_API GetResourceMetadataResult(const Aws::AmazonWebServiceResult& result); AWS_PI_API GetResourceMetadataResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

An immutable identifier for a data source that is unique for an Amazon Web * Services Region. Performance Insights gathers metrics from this data source. To * use a DB instance as a data source, specify its DbiResourceId * value. For example, specify db-ABCDEFGHIJKLMNOPQRSTU1VW2X.

*/ inline const Aws::String& GetIdentifier() const{ return m_identifier; } /** *

An immutable identifier for a data source that is unique for an Amazon Web * Services Region. Performance Insights gathers metrics from this data source. To * use a DB instance as a data source, specify its DbiResourceId * value. For example, specify db-ABCDEFGHIJKLMNOPQRSTU1VW2X.

*/ inline void SetIdentifier(const Aws::String& value) { m_identifier = value; } /** *

An immutable identifier for a data source that is unique for an Amazon Web * Services Region. Performance Insights gathers metrics from this data source. To * use a DB instance as a data source, specify its DbiResourceId * value. For example, specify db-ABCDEFGHIJKLMNOPQRSTU1VW2X.

*/ inline void SetIdentifier(Aws::String&& value) { m_identifier = std::move(value); } /** *

An immutable identifier for a data source that is unique for an Amazon Web * Services Region. Performance Insights gathers metrics from this data source. To * use a DB instance as a data source, specify its DbiResourceId * value. For example, specify db-ABCDEFGHIJKLMNOPQRSTU1VW2X.

*/ inline void SetIdentifier(const char* value) { m_identifier.assign(value); } /** *

An immutable identifier for a data source that is unique for an Amazon Web * Services Region. Performance Insights gathers metrics from this data source. To * use a DB instance as a data source, specify its DbiResourceId * value. For example, specify db-ABCDEFGHIJKLMNOPQRSTU1VW2X.

*/ inline GetResourceMetadataResult& WithIdentifier(const Aws::String& value) { SetIdentifier(value); return *this;} /** *

An immutable identifier for a data source that is unique for an Amazon Web * Services Region. Performance Insights gathers metrics from this data source. To * use a DB instance as a data source, specify its DbiResourceId * value. For example, specify db-ABCDEFGHIJKLMNOPQRSTU1VW2X.

*/ inline GetResourceMetadataResult& WithIdentifier(Aws::String&& value) { SetIdentifier(std::move(value)); return *this;} /** *

An immutable identifier for a data source that is unique for an Amazon Web * Services Region. Performance Insights gathers metrics from this data source. To * use a DB instance as a data source, specify its DbiResourceId * value. For example, specify db-ABCDEFGHIJKLMNOPQRSTU1VW2X.

*/ inline GetResourceMetadataResult& WithIdentifier(const char* value) { SetIdentifier(value); return *this;} /** *

The metadata for different features. For example, the metadata might indicate * that a feature is turned on or off on a specific DB instance.

*/ inline const Aws::Map& GetFeatures() const{ return m_features; } /** *

The metadata for different features. For example, the metadata might indicate * that a feature is turned on or off on a specific DB instance.

*/ inline void SetFeatures(const Aws::Map& value) { m_features = value; } /** *

The metadata for different features. For example, the metadata might indicate * that a feature is turned on or off on a specific DB instance.

*/ inline void SetFeatures(Aws::Map&& value) { m_features = std::move(value); } /** *

The metadata for different features. For example, the metadata might indicate * that a feature is turned on or off on a specific DB instance.

*/ inline GetResourceMetadataResult& WithFeatures(const Aws::Map& value) { SetFeatures(value); return *this;} /** *

The metadata for different features. For example, the metadata might indicate * that a feature is turned on or off on a specific DB instance.

*/ inline GetResourceMetadataResult& WithFeatures(Aws::Map&& value) { SetFeatures(std::move(value)); return *this;} /** *

The metadata for different features. For example, the metadata might indicate * that a feature is turned on or off on a specific DB instance.

*/ inline GetResourceMetadataResult& AddFeatures(const Aws::String& key, const FeatureMetadata& value) { m_features.emplace(key, value); return *this; } /** *

The metadata for different features. For example, the metadata might indicate * that a feature is turned on or off on a specific DB instance.

*/ inline GetResourceMetadataResult& AddFeatures(Aws::String&& key, const FeatureMetadata& value) { m_features.emplace(std::move(key), value); return *this; } /** *

The metadata for different features. For example, the metadata might indicate * that a feature is turned on or off on a specific DB instance.

*/ inline GetResourceMetadataResult& AddFeatures(const Aws::String& key, FeatureMetadata&& value) { m_features.emplace(key, std::move(value)); return *this; } /** *

The metadata for different features. For example, the metadata might indicate * that a feature is turned on or off on a specific DB instance.

*/ inline GetResourceMetadataResult& AddFeatures(Aws::String&& key, FeatureMetadata&& value) { m_features.emplace(std::move(key), std::move(value)); return *this; } /** *

The metadata for different features. For example, the metadata might indicate * that a feature is turned on or off on a specific DB instance.

*/ inline GetResourceMetadataResult& AddFeatures(const char* key, FeatureMetadata&& value) { m_features.emplace(key, std::move(value)); return *this; } /** *

The metadata for different features. For example, the metadata might indicate * that a feature is turned on or off on a specific DB instance.

*/ inline GetResourceMetadataResult& AddFeatures(const char* key, const FeatureMetadata& value) { m_features.emplace(key, value); return *this; } inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline GetResourceMetadataResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline GetResourceMetadataResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline GetResourceMetadataResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_identifier; Aws::Map m_features; Aws::String m_requestId; }; } // namespace Model } // namespace PI } // namespace Aws