/** * 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 #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Xml { class XmlDocument; } // namespace Xml } // namespace Utils namespace CloudWatch { namespace Model { class GetMetricStreamResult { public: AWS_CLOUDWATCH_API GetMetricStreamResult(); AWS_CLOUDWATCH_API GetMetricStreamResult(const Aws::AmazonWebServiceResult& result); AWS_CLOUDWATCH_API GetMetricStreamResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The ARN of the metric stream.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The ARN of the metric stream.

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

The ARN of the metric stream.

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

The ARN of the metric stream.

*/ inline void SetArn(const char* value) { m_arn.assign(value); } /** *

The ARN of the metric stream.

*/ inline GetMetricStreamResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The ARN of the metric stream.

*/ inline GetMetricStreamResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The ARN of the metric stream.

*/ inline GetMetricStreamResult& WithArn(const char* value) { SetArn(value); return *this;} /** *

The name of the metric stream.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the metric stream.

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

The name of the metric stream.

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

The name of the metric stream.

*/ inline void SetName(const char* value) { m_name.assign(value); } /** *

The name of the metric stream.

*/ inline GetMetricStreamResult& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the metric stream.

*/ inline GetMetricStreamResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the metric stream.

*/ inline GetMetricStreamResult& WithName(const char* value) { SetName(value); return *this;} /** *

If this array of metric namespaces is present, then these namespaces are the * only metric namespaces that are streamed by this metric stream.

*/ inline const Aws::Vector& GetIncludeFilters() const{ return m_includeFilters; } /** *

If this array of metric namespaces is present, then these namespaces are the * only metric namespaces that are streamed by this metric stream.

*/ inline void SetIncludeFilters(const Aws::Vector& value) { m_includeFilters = value; } /** *

If this array of metric namespaces is present, then these namespaces are the * only metric namespaces that are streamed by this metric stream.

*/ inline void SetIncludeFilters(Aws::Vector&& value) { m_includeFilters = std::move(value); } /** *

If this array of metric namespaces is present, then these namespaces are the * only metric namespaces that are streamed by this metric stream.

*/ inline GetMetricStreamResult& WithIncludeFilters(const Aws::Vector& value) { SetIncludeFilters(value); return *this;} /** *

If this array of metric namespaces is present, then these namespaces are the * only metric namespaces that are streamed by this metric stream.

*/ inline GetMetricStreamResult& WithIncludeFilters(Aws::Vector&& value) { SetIncludeFilters(std::move(value)); return *this;} /** *

If this array of metric namespaces is present, then these namespaces are the * only metric namespaces that are streamed by this metric stream.

*/ inline GetMetricStreamResult& AddIncludeFilters(const MetricStreamFilter& value) { m_includeFilters.push_back(value); return *this; } /** *

If this array of metric namespaces is present, then these namespaces are the * only metric namespaces that are streamed by this metric stream.

*/ inline GetMetricStreamResult& AddIncludeFilters(MetricStreamFilter&& value) { m_includeFilters.push_back(std::move(value)); return *this; } /** *

If this array of metric namespaces is present, then these namespaces are the * only metric namespaces that are not streamed by this metric stream. In this * case, all other metric namespaces in the account are streamed by this metric * stream.

*/ inline const Aws::Vector& GetExcludeFilters() const{ return m_excludeFilters; } /** *

If this array of metric namespaces is present, then these namespaces are the * only metric namespaces that are not streamed by this metric stream. In this * case, all other metric namespaces in the account are streamed by this metric * stream.

*/ inline void SetExcludeFilters(const Aws::Vector& value) { m_excludeFilters = value; } /** *

If this array of metric namespaces is present, then these namespaces are the * only metric namespaces that are not streamed by this metric stream. In this * case, all other metric namespaces in the account are streamed by this metric * stream.

*/ inline void SetExcludeFilters(Aws::Vector&& value) { m_excludeFilters = std::move(value); } /** *

If this array of metric namespaces is present, then these namespaces are the * only metric namespaces that are not streamed by this metric stream. In this * case, all other metric namespaces in the account are streamed by this metric * stream.

*/ inline GetMetricStreamResult& WithExcludeFilters(const Aws::Vector& value) { SetExcludeFilters(value); return *this;} /** *

If this array of metric namespaces is present, then these namespaces are the * only metric namespaces that are not streamed by this metric stream. In this * case, all other metric namespaces in the account are streamed by this metric * stream.

*/ inline GetMetricStreamResult& WithExcludeFilters(Aws::Vector&& value) { SetExcludeFilters(std::move(value)); return *this;} /** *

If this array of metric namespaces is present, then these namespaces are the * only metric namespaces that are not streamed by this metric stream. In this * case, all other metric namespaces in the account are streamed by this metric * stream.

*/ inline GetMetricStreamResult& AddExcludeFilters(const MetricStreamFilter& value) { m_excludeFilters.push_back(value); return *this; } /** *

If this array of metric namespaces is present, then these namespaces are the * only metric namespaces that are not streamed by this metric stream. In this * case, all other metric namespaces in the account are streamed by this metric * stream.

*/ inline GetMetricStreamResult& AddExcludeFilters(MetricStreamFilter&& value) { m_excludeFilters.push_back(std::move(value)); return *this; } /** *

The ARN of the Amazon Kinesis Data Firehose delivery stream that is used by * this metric stream.

*/ inline const Aws::String& GetFirehoseArn() const{ return m_firehoseArn; } /** *

The ARN of the Amazon Kinesis Data Firehose delivery stream that is used by * this metric stream.

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

The ARN of the Amazon Kinesis Data Firehose delivery stream that is used by * this metric stream.

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

The ARN of the Amazon Kinesis Data Firehose delivery stream that is used by * this metric stream.

*/ inline void SetFirehoseArn(const char* value) { m_firehoseArn.assign(value); } /** *

The ARN of the Amazon Kinesis Data Firehose delivery stream that is used by * this metric stream.

*/ inline GetMetricStreamResult& WithFirehoseArn(const Aws::String& value) { SetFirehoseArn(value); return *this;} /** *

The ARN of the Amazon Kinesis Data Firehose delivery stream that is used by * this metric stream.

*/ inline GetMetricStreamResult& WithFirehoseArn(Aws::String&& value) { SetFirehoseArn(std::move(value)); return *this;} /** *

The ARN of the Amazon Kinesis Data Firehose delivery stream that is used by * this metric stream.

*/ inline GetMetricStreamResult& WithFirehoseArn(const char* value) { SetFirehoseArn(value); return *this;} /** *

The ARN of the IAM role that is used by this metric stream.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The ARN of the IAM role that is used by this metric stream.

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

The ARN of the IAM role that is used by this metric stream.

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

The ARN of the IAM role that is used by this metric stream.

*/ inline void SetRoleArn(const char* value) { m_roleArn.assign(value); } /** *

The ARN of the IAM role that is used by this metric stream.

*/ inline GetMetricStreamResult& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The ARN of the IAM role that is used by this metric stream.

*/ inline GetMetricStreamResult& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The ARN of the IAM role that is used by this metric stream.

*/ inline GetMetricStreamResult& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

The state of the metric stream. The possible values are running * and stopped.

*/ inline const Aws::String& GetState() const{ return m_state; } /** *

The state of the metric stream. The possible values are running * and stopped.

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

The state of the metric stream. The possible values are running * and stopped.

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

The state of the metric stream. The possible values are running * and stopped.

*/ inline void SetState(const char* value) { m_state.assign(value); } /** *

The state of the metric stream. The possible values are running * and stopped.

*/ inline GetMetricStreamResult& WithState(const Aws::String& value) { SetState(value); return *this;} /** *

The state of the metric stream. The possible values are running * and stopped.

*/ inline GetMetricStreamResult& WithState(Aws::String&& value) { SetState(std::move(value)); return *this;} /** *

The state of the metric stream. The possible values are running * and stopped.

*/ inline GetMetricStreamResult& WithState(const char* value) { SetState(value); return *this;} /** *

The date that the metric stream was created.

*/ inline const Aws::Utils::DateTime& GetCreationDate() const{ return m_creationDate; } /** *

The date that the metric stream was created.

*/ inline void SetCreationDate(const Aws::Utils::DateTime& value) { m_creationDate = value; } /** *

The date that the metric stream was created.

*/ inline void SetCreationDate(Aws::Utils::DateTime&& value) { m_creationDate = std::move(value); } /** *

The date that the metric stream was created.

*/ inline GetMetricStreamResult& WithCreationDate(const Aws::Utils::DateTime& value) { SetCreationDate(value); return *this;} /** *

The date that the metric stream was created.

*/ inline GetMetricStreamResult& WithCreationDate(Aws::Utils::DateTime&& value) { SetCreationDate(std::move(value)); return *this;} /** *

The date of the most recent update to the metric stream's configuration.

*/ inline const Aws::Utils::DateTime& GetLastUpdateDate() const{ return m_lastUpdateDate; } /** *

The date of the most recent update to the metric stream's configuration.

*/ inline void SetLastUpdateDate(const Aws::Utils::DateTime& value) { m_lastUpdateDate = value; } /** *

The date of the most recent update to the metric stream's configuration.

*/ inline void SetLastUpdateDate(Aws::Utils::DateTime&& value) { m_lastUpdateDate = std::move(value); } /** *

The date of the most recent update to the metric stream's configuration.

*/ inline GetMetricStreamResult& WithLastUpdateDate(const Aws::Utils::DateTime& value) { SetLastUpdateDate(value); return *this;} /** *

The date of the most recent update to the metric stream's configuration.

*/ inline GetMetricStreamResult& WithLastUpdateDate(Aws::Utils::DateTime&& value) { SetLastUpdateDate(std::move(value)); return *this;} /** *

The output format for the stream. Valid values are json and * opentelemetry0.7. For more information about metric stream output * formats, see Metric * streams output formats.

*/ inline const MetricStreamOutputFormat& GetOutputFormat() const{ return m_outputFormat; } /** *

The output format for the stream. Valid values are json and * opentelemetry0.7. For more information about metric stream output * formats, see Metric * streams output formats.

*/ inline void SetOutputFormat(const MetricStreamOutputFormat& value) { m_outputFormat = value; } /** *

The output format for the stream. Valid values are json and * opentelemetry0.7. For more information about metric stream output * formats, see Metric * streams output formats.

*/ inline void SetOutputFormat(MetricStreamOutputFormat&& value) { m_outputFormat = std::move(value); } /** *

The output format for the stream. Valid values are json and * opentelemetry0.7. For more information about metric stream output * formats, see Metric * streams output formats.

*/ inline GetMetricStreamResult& WithOutputFormat(const MetricStreamOutputFormat& value) { SetOutputFormat(value); return *this;} /** *

The output format for the stream. Valid values are json and * opentelemetry0.7. For more information about metric stream output * formats, see Metric * streams output formats.

*/ inline GetMetricStreamResult& WithOutputFormat(MetricStreamOutputFormat&& value) { SetOutputFormat(std::move(value)); return *this;} /** *

Each entry in this array displays information about one or more metrics that * include additional statistics in the metric stream. For more information about * the additional statistics, see * CloudWatch statistics definitions.

*/ inline const Aws::Vector& GetStatisticsConfigurations() const{ return m_statisticsConfigurations; } /** *

Each entry in this array displays information about one or more metrics that * include additional statistics in the metric stream. For more information about * the additional statistics, see * CloudWatch statistics definitions.

*/ inline void SetStatisticsConfigurations(const Aws::Vector& value) { m_statisticsConfigurations = value; } /** *

Each entry in this array displays information about one or more metrics that * include additional statistics in the metric stream. For more information about * the additional statistics, see * CloudWatch statistics definitions.

*/ inline void SetStatisticsConfigurations(Aws::Vector&& value) { m_statisticsConfigurations = std::move(value); } /** *

Each entry in this array displays information about one or more metrics that * include additional statistics in the metric stream. For more information about * the additional statistics, see * CloudWatch statistics definitions.

*/ inline GetMetricStreamResult& WithStatisticsConfigurations(const Aws::Vector& value) { SetStatisticsConfigurations(value); return *this;} /** *

Each entry in this array displays information about one or more metrics that * include additional statistics in the metric stream. For more information about * the additional statistics, see * CloudWatch statistics definitions.

*/ inline GetMetricStreamResult& WithStatisticsConfigurations(Aws::Vector&& value) { SetStatisticsConfigurations(std::move(value)); return *this;} /** *

Each entry in this array displays information about one or more metrics that * include additional statistics in the metric stream. For more information about * the additional statistics, see * CloudWatch statistics definitions.

*/ inline GetMetricStreamResult& AddStatisticsConfigurations(const MetricStreamStatisticsConfiguration& value) { m_statisticsConfigurations.push_back(value); return *this; } /** *

Each entry in this array displays information about one or more metrics that * include additional statistics in the metric stream. For more information about * the additional statistics, see * CloudWatch statistics definitions.

*/ inline GetMetricStreamResult& AddStatisticsConfigurations(MetricStreamStatisticsConfiguration&& value) { m_statisticsConfigurations.push_back(std::move(value)); return *this; } /** *

If this is true and this metric stream is in a monitoring * account, then the stream includes metrics from source accounts that the * monitoring account is linked to.

*/ inline bool GetIncludeLinkedAccountsMetrics() const{ return m_includeLinkedAccountsMetrics; } /** *

If this is true and this metric stream is in a monitoring * account, then the stream includes metrics from source accounts that the * monitoring account is linked to.

*/ inline void SetIncludeLinkedAccountsMetrics(bool value) { m_includeLinkedAccountsMetrics = value; } /** *

If this is true and this metric stream is in a monitoring * account, then the stream includes metrics from source accounts that the * monitoring account is linked to.

*/ inline GetMetricStreamResult& WithIncludeLinkedAccountsMetrics(bool value) { SetIncludeLinkedAccountsMetrics(value); return *this;} inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } inline GetMetricStreamResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} inline GetMetricStreamResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} private: Aws::String m_arn; Aws::String m_name; Aws::Vector m_includeFilters; Aws::Vector m_excludeFilters; Aws::String m_firehoseArn; Aws::String m_roleArn; Aws::String m_state; Aws::Utils::DateTime m_creationDate; Aws::Utils::DateTime m_lastUpdateDate; MetricStreamOutputFormat m_outputFormat; Aws::Vector m_statisticsConfigurations; bool m_includeLinkedAccountsMetrics; ResponseMetadata m_responseMetadata; }; } // namespace Model } // namespace CloudWatch } // namespace Aws