/** * 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 { namespace CloudWatch { namespace Model { /** */ class PutMetricStreamRequest : public CloudWatchRequest { public: AWS_CLOUDWATCH_API PutMetricStreamRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutMetricStream"; } AWS_CLOUDWATCH_API Aws::String SerializePayload() const override; protected: AWS_CLOUDWATCH_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

If you are creating a new metric stream, this is the name for the new stream. * The name must be different than the names of other metric streams in this * account and Region.

If you are updating a metric stream, specify the name * of that stream here.

Valid characters are A-Z, a-z, 0-9, "-" and "_".

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

If you are creating a new metric stream, this is the name for the new stream. * The name must be different than the names of other metric streams in this * account and Region.

If you are updating a metric stream, specify the name * of that stream here.

Valid characters are A-Z, a-z, 0-9, "-" and "_".

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

If you are creating a new metric stream, this is the name for the new stream. * The name must be different than the names of other metric streams in this * account and Region.

If you are updating a metric stream, specify the name * of that stream here.

Valid characters are A-Z, a-z, 0-9, "-" and "_".

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

If you are creating a new metric stream, this is the name for the new stream. * The name must be different than the names of other metric streams in this * account and Region.

If you are updating a metric stream, specify the name * of that stream here.

Valid characters are A-Z, a-z, 0-9, "-" and "_".

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

If you are creating a new metric stream, this is the name for the new stream. * The name must be different than the names of other metric streams in this * account and Region.

If you are updating a metric stream, specify the name * of that stream here.

Valid characters are A-Z, a-z, 0-9, "-" and "_".

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

If you are creating a new metric stream, this is the name for the new stream. * The name must be different than the names of other metric streams in this * account and Region.

If you are updating a metric stream, specify the name * of that stream here.

Valid characters are A-Z, a-z, 0-9, "-" and "_".

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

If you are creating a new metric stream, this is the name for the new stream. * The name must be different than the names of other metric streams in this * account and Region.

If you are updating a metric stream, specify the name * of that stream here.

Valid characters are A-Z, a-z, 0-9, "-" and "_".

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

If you are creating a new metric stream, this is the name for the new stream. * The name must be different than the names of other metric streams in this * account and Region.

If you are updating a metric stream, specify the name * of that stream here.

Valid characters are A-Z, a-z, 0-9, "-" and "_".

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

If you specify this parameter, the stream sends only the metrics from the * metric namespaces that you specify here.

You cannot include * IncludeFilters and ExcludeFilters in the same * operation.

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

If you specify this parameter, the stream sends only the metrics from the * metric namespaces that you specify here.

You cannot include * IncludeFilters and ExcludeFilters in the same * operation.

*/ inline bool IncludeFiltersHasBeenSet() const { return m_includeFiltersHasBeenSet; } /** *

If you specify this parameter, the stream sends only the metrics from the * metric namespaces that you specify here.

You cannot include * IncludeFilters and ExcludeFilters in the same * operation.

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

If you specify this parameter, the stream sends only the metrics from the * metric namespaces that you specify here.

You cannot include * IncludeFilters and ExcludeFilters in the same * operation.

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

If you specify this parameter, the stream sends only the metrics from the * metric namespaces that you specify here.

You cannot include * IncludeFilters and ExcludeFilters in the same * operation.

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

If you specify this parameter, the stream sends only the metrics from the * metric namespaces that you specify here.

You cannot include * IncludeFilters and ExcludeFilters in the same * operation.

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

If you specify this parameter, the stream sends only the metrics from the * metric namespaces that you specify here.

You cannot include * IncludeFilters and ExcludeFilters in the same * operation.

*/ inline PutMetricStreamRequest& AddIncludeFilters(const MetricStreamFilter& value) { m_includeFiltersHasBeenSet = true; m_includeFilters.push_back(value); return *this; } /** *

If you specify this parameter, the stream sends only the metrics from the * metric namespaces that you specify here.

You cannot include * IncludeFilters and ExcludeFilters in the same * operation.

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

If you specify this parameter, the stream sends metrics from all metric * namespaces except for the namespaces that you specify here.

You cannot * include ExcludeFilters and IncludeFilters in the same * operation.

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

If you specify this parameter, the stream sends metrics from all metric * namespaces except for the namespaces that you specify here.

You cannot * include ExcludeFilters and IncludeFilters in the same * operation.

*/ inline bool ExcludeFiltersHasBeenSet() const { return m_excludeFiltersHasBeenSet; } /** *

If you specify this parameter, the stream sends metrics from all metric * namespaces except for the namespaces that you specify here.

You cannot * include ExcludeFilters and IncludeFilters in the same * operation.

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

If you specify this parameter, the stream sends metrics from all metric * namespaces except for the namespaces that you specify here.

You cannot * include ExcludeFilters and IncludeFilters in the same * operation.

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

If you specify this parameter, the stream sends metrics from all metric * namespaces except for the namespaces that you specify here.

You cannot * include ExcludeFilters and IncludeFilters in the same * operation.

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

If you specify this parameter, the stream sends metrics from all metric * namespaces except for the namespaces that you specify here.

You cannot * include ExcludeFilters and IncludeFilters in the same * operation.

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

If you specify this parameter, the stream sends metrics from all metric * namespaces except for the namespaces that you specify here.

You cannot * include ExcludeFilters and IncludeFilters in the same * operation.

*/ inline PutMetricStreamRequest& AddExcludeFilters(const MetricStreamFilter& value) { m_excludeFiltersHasBeenSet = true; m_excludeFilters.push_back(value); return *this; } /** *

If you specify this parameter, the stream sends metrics from all metric * namespaces except for the namespaces that you specify here.

You cannot * include ExcludeFilters and IncludeFilters in the same * operation.

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

The ARN of the Amazon Kinesis Data Firehose delivery stream to use for this * metric stream. This Amazon Kinesis Data Firehose delivery stream must already * exist and must be in the same account as the metric stream.

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

The ARN of the Amazon Kinesis Data Firehose delivery stream to use for this * metric stream. This Amazon Kinesis Data Firehose delivery stream must already * exist and must be in the same account as the metric stream.

*/ inline bool FirehoseArnHasBeenSet() const { return m_firehoseArnHasBeenSet; } /** *

The ARN of the Amazon Kinesis Data Firehose delivery stream to use for this * metric stream. This Amazon Kinesis Data Firehose delivery stream must already * exist and must be in the same account as the metric stream.

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

The ARN of the Amazon Kinesis Data Firehose delivery stream to use for this * metric stream. This Amazon Kinesis Data Firehose delivery stream must already * exist and must be in the same account as the metric stream.

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

The ARN of the Amazon Kinesis Data Firehose delivery stream to use for this * metric stream. This Amazon Kinesis Data Firehose delivery stream must already * exist and must be in the same account as the metric stream.

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

The ARN of the Amazon Kinesis Data Firehose delivery stream to use for this * metric stream. This Amazon Kinesis Data Firehose delivery stream must already * exist and must be in the same account as the metric stream.

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

The ARN of the Amazon Kinesis Data Firehose delivery stream to use for this * metric stream. This Amazon Kinesis Data Firehose delivery stream must already * exist and must be in the same account as the metric stream.

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

The ARN of the Amazon Kinesis Data Firehose delivery stream to use for this * metric stream. This Amazon Kinesis Data Firehose delivery stream must already * exist and must be in the same account as the metric stream.

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

The ARN of an IAM role that this metric stream will use to access Amazon * Kinesis Data Firehose resources. This IAM role must already exist and must be in * the same account as the metric stream. This IAM role must include the following * permissions:

  • firehose:PutRecord

  • *

    firehose:PutRecordBatch

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

The ARN of an IAM role that this metric stream will use to access Amazon * Kinesis Data Firehose resources. This IAM role must already exist and must be in * the same account as the metric stream. This IAM role must include the following * permissions:

  • firehose:PutRecord

  • *

    firehose:PutRecordBatch

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The ARN of an IAM role that this metric stream will use to access Amazon * Kinesis Data Firehose resources. This IAM role must already exist and must be in * the same account as the metric stream. This IAM role must include the following * permissions:

  • firehose:PutRecord

  • *

    firehose:PutRecordBatch

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

The ARN of an IAM role that this metric stream will use to access Amazon * Kinesis Data Firehose resources. This IAM role must already exist and must be in * the same account as the metric stream. This IAM role must include the following * permissions:

  • firehose:PutRecord

  • *

    firehose:PutRecordBatch

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

The ARN of an IAM role that this metric stream will use to access Amazon * Kinesis Data Firehose resources. This IAM role must already exist and must be in * the same account as the metric stream. This IAM role must include the following * permissions:

  • firehose:PutRecord

  • *

    firehose:PutRecordBatch

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

The ARN of an IAM role that this metric stream will use to access Amazon * Kinesis Data Firehose resources. This IAM role must already exist and must be in * the same account as the metric stream. This IAM role must include the following * permissions:

  • firehose:PutRecord

  • *

    firehose:PutRecordBatch

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

The ARN of an IAM role that this metric stream will use to access Amazon * Kinesis Data Firehose resources. This IAM role must already exist and must be in * the same account as the metric stream. This IAM role must include the following * permissions:

  • firehose:PutRecord

  • *

    firehose:PutRecordBatch

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

The ARN of an IAM role that this metric stream will use to access Amazon * Kinesis Data Firehose resources. This IAM role must already exist and must be in * the same account as the metric stream. This IAM role must include the following * permissions:

  • firehose:PutRecord

  • *

    firehose:PutRecordBatch

*/ inline PutMetricStreamRequest& WithRoleArn(const char* value) { SetRoleArn(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 bool OutputFormatHasBeenSet() const { return m_outputFormatHasBeenSet; } /** *

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_outputFormatHasBeenSet = true; 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_outputFormatHasBeenSet = true; 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 PutMetricStreamRequest& 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 PutMetricStreamRequest& WithOutputFormat(MetricStreamOutputFormat&& value) { SetOutputFormat(std::move(value)); return *this;} /** *

A list of key-value pairs to associate with the metric stream. You can * associate as many as 50 tags with a metric stream.

Tags can help you * organize and categorize your resources. You can also use them to scope user * permissions by granting a user permission to access or change only resources * with certain tag values.

You can use this parameter only when you are * creating a new metric stream. If you are using this operation to update an * existing metric stream, any tags you specify in this parameter are ignored. To * change the tags of an existing metric stream, use TagResource * or UntagResource.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

A list of key-value pairs to associate with the metric stream. You can * associate as many as 50 tags with a metric stream.

Tags can help you * organize and categorize your resources. You can also use them to scope user * permissions by granting a user permission to access or change only resources * with certain tag values.

You can use this parameter only when you are * creating a new metric stream. If you are using this operation to update an * existing metric stream, any tags you specify in this parameter are ignored. To * change the tags of an existing metric stream, use TagResource * or UntagResource.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

A list of key-value pairs to associate with the metric stream. You can * associate as many as 50 tags with a metric stream.

Tags can help you * organize and categorize your resources. You can also use them to scope user * permissions by granting a user permission to access or change only resources * with certain tag values.

You can use this parameter only when you are * creating a new metric stream. If you are using this operation to update an * existing metric stream, any tags you specify in this parameter are ignored. To * change the tags of an existing metric stream, use TagResource * or UntagResource.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

A list of key-value pairs to associate with the metric stream. You can * associate as many as 50 tags with a metric stream.

Tags can help you * organize and categorize your resources. You can also use them to scope user * permissions by granting a user permission to access or change only resources * with certain tag values.

You can use this parameter only when you are * creating a new metric stream. If you are using this operation to update an * existing metric stream, any tags you specify in this parameter are ignored. To * change the tags of an existing metric stream, use TagResource * or UntagResource.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

A list of key-value pairs to associate with the metric stream. You can * associate as many as 50 tags with a metric stream.

Tags can help you * organize and categorize your resources. You can also use them to scope user * permissions by granting a user permission to access or change only resources * with certain tag values.

You can use this parameter only when you are * creating a new metric stream. If you are using this operation to update an * existing metric stream, any tags you specify in this parameter are ignored. To * change the tags of an existing metric stream, use TagResource * or UntagResource.

*/ inline PutMetricStreamRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

A list of key-value pairs to associate with the metric stream. You can * associate as many as 50 tags with a metric stream.

Tags can help you * organize and categorize your resources. You can also use them to scope user * permissions by granting a user permission to access or change only resources * with certain tag values.

You can use this parameter only when you are * creating a new metric stream. If you are using this operation to update an * existing metric stream, any tags you specify in this parameter are ignored. To * change the tags of an existing metric stream, use TagResource * or UntagResource.

*/ inline PutMetricStreamRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

A list of key-value pairs to associate with the metric stream. You can * associate as many as 50 tags with a metric stream.

Tags can help you * organize and categorize your resources. You can also use them to scope user * permissions by granting a user permission to access or change only resources * with certain tag values.

You can use this parameter only when you are * creating a new metric stream. If you are using this operation to update an * existing metric stream, any tags you specify in this parameter are ignored. To * change the tags of an existing metric stream, use TagResource * or UntagResource.

*/ inline PutMetricStreamRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

A list of key-value pairs to associate with the metric stream. You can * associate as many as 50 tags with a metric stream.

Tags can help you * organize and categorize your resources. You can also use them to scope user * permissions by granting a user permission to access or change only resources * with certain tag values.

You can use this parameter only when you are * creating a new metric stream. If you are using this operation to update an * existing metric stream, any tags you specify in this parameter are ignored. To * change the tags of an existing metric stream, use TagResource * or UntagResource.

*/ inline PutMetricStreamRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

By default, a metric stream always sends the MAX, * MIN, SUM, and SAMPLECOUNT statistics for * each metric that is streamed. You can use this parameter to have the metric * stream also send additional statistics in the stream. This array can have up to * 100 members.

For each entry in this array, you specify one or more * metrics and the list of additional statistics to stream for those metrics. The * additional statistics that you can stream depend on the stream's * OutputFormat. If the OutputFormat is * json, you can stream any additional statistic that is supported by * CloudWatch, listed in * CloudWatch statistics definitions. If the OutputFormat is * opentelemetry0.7, you can stream percentile statistics such as p95, * p99.9, and so on.

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

By default, a metric stream always sends the MAX, * MIN, SUM, and SAMPLECOUNT statistics for * each metric that is streamed. You can use this parameter to have the metric * stream also send additional statistics in the stream. This array can have up to * 100 members.

For each entry in this array, you specify one or more * metrics and the list of additional statistics to stream for those metrics. The * additional statistics that you can stream depend on the stream's * OutputFormat. If the OutputFormat is * json, you can stream any additional statistic that is supported by * CloudWatch, listed in * CloudWatch statistics definitions. If the OutputFormat is * opentelemetry0.7, you can stream percentile statistics such as p95, * p99.9, and so on.

*/ inline bool StatisticsConfigurationsHasBeenSet() const { return m_statisticsConfigurationsHasBeenSet; } /** *

By default, a metric stream always sends the MAX, * MIN, SUM, and SAMPLECOUNT statistics for * each metric that is streamed. You can use this parameter to have the metric * stream also send additional statistics in the stream. This array can have up to * 100 members.

For each entry in this array, you specify one or more * metrics and the list of additional statistics to stream for those metrics. The * additional statistics that you can stream depend on the stream's * OutputFormat. If the OutputFormat is * json, you can stream any additional statistic that is supported by * CloudWatch, listed in * CloudWatch statistics definitions. If the OutputFormat is * opentelemetry0.7, you can stream percentile statistics such as p95, * p99.9, and so on.

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

By default, a metric stream always sends the MAX, * MIN, SUM, and SAMPLECOUNT statistics for * each metric that is streamed. You can use this parameter to have the metric * stream also send additional statistics in the stream. This array can have up to * 100 members.

For each entry in this array, you specify one or more * metrics and the list of additional statistics to stream for those metrics. The * additional statistics that you can stream depend on the stream's * OutputFormat. If the OutputFormat is * json, you can stream any additional statistic that is supported by * CloudWatch, listed in * CloudWatch statistics definitions. If the OutputFormat is * opentelemetry0.7, you can stream percentile statistics such as p95, * p99.9, and so on.

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

By default, a metric stream always sends the MAX, * MIN, SUM, and SAMPLECOUNT statistics for * each metric that is streamed. You can use this parameter to have the metric * stream also send additional statistics in the stream. This array can have up to * 100 members.

For each entry in this array, you specify one or more * metrics and the list of additional statistics to stream for those metrics. The * additional statistics that you can stream depend on the stream's * OutputFormat. If the OutputFormat is * json, you can stream any additional statistic that is supported by * CloudWatch, listed in * CloudWatch statistics definitions. If the OutputFormat is * opentelemetry0.7, you can stream percentile statistics such as p95, * p99.9, and so on.

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

By default, a metric stream always sends the MAX, * MIN, SUM, and SAMPLECOUNT statistics for * each metric that is streamed. You can use this parameter to have the metric * stream also send additional statistics in the stream. This array can have up to * 100 members.

For each entry in this array, you specify one or more * metrics and the list of additional statistics to stream for those metrics. The * additional statistics that you can stream depend on the stream's * OutputFormat. If the OutputFormat is * json, you can stream any additional statistic that is supported by * CloudWatch, listed in * CloudWatch statistics definitions. If the OutputFormat is * opentelemetry0.7, you can stream percentile statistics such as p95, * p99.9, and so on.

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

By default, a metric stream always sends the MAX, * MIN, SUM, and SAMPLECOUNT statistics for * each metric that is streamed. You can use this parameter to have the metric * stream also send additional statistics in the stream. This array can have up to * 100 members.

For each entry in this array, you specify one or more * metrics and the list of additional statistics to stream for those metrics. The * additional statistics that you can stream depend on the stream's * OutputFormat. If the OutputFormat is * json, you can stream any additional statistic that is supported by * CloudWatch, listed in * CloudWatch statistics definitions. If the OutputFormat is * opentelemetry0.7, you can stream percentile statistics such as p95, * p99.9, and so on.

*/ inline PutMetricStreamRequest& AddStatisticsConfigurations(const MetricStreamStatisticsConfiguration& value) { m_statisticsConfigurationsHasBeenSet = true; m_statisticsConfigurations.push_back(value); return *this; } /** *

By default, a metric stream always sends the MAX, * MIN, SUM, and SAMPLECOUNT statistics for * each metric that is streamed. You can use this parameter to have the metric * stream also send additional statistics in the stream. This array can have up to * 100 members.

For each entry in this array, you specify one or more * metrics and the list of additional statistics to stream for those metrics. The * additional statistics that you can stream depend on the stream's * OutputFormat. If the OutputFormat is * json, you can stream any additional statistic that is supported by * CloudWatch, listed in * CloudWatch statistics definitions. If the OutputFormat is * opentelemetry0.7, you can stream percentile statistics such as p95, * p99.9, and so on.

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

If you are creating a metric stream in a monitoring account, specify * true to include metrics from source accounts in the metric * stream.

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

If you are creating a metric stream in a monitoring account, specify * true to include metrics from source accounts in the metric * stream.

*/ inline bool IncludeLinkedAccountsMetricsHasBeenSet() const { return m_includeLinkedAccountsMetricsHasBeenSet; } /** *

If you are creating a metric stream in a monitoring account, specify * true to include metrics from source accounts in the metric * stream.

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

If you are creating a metric stream in a monitoring account, specify * true to include metrics from source accounts in the metric * stream.

*/ inline PutMetricStreamRequest& WithIncludeLinkedAccountsMetrics(bool value) { SetIncludeLinkedAccountsMetrics(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::Vector m_includeFilters; bool m_includeFiltersHasBeenSet = false; Aws::Vector m_excludeFilters; bool m_excludeFiltersHasBeenSet = false; Aws::String m_firehoseArn; bool m_firehoseArnHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; MetricStreamOutputFormat m_outputFormat; bool m_outputFormatHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::Vector m_statisticsConfigurations; bool m_statisticsConfigurationsHasBeenSet = false; bool m_includeLinkedAccountsMetrics; bool m_includeLinkedAccountsMetricsHasBeenSet = false; }; } // namespace Model } // namespace CloudWatch } // namespace Aws