1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/kinesis/Kinesis_EXPORTS.h> 8 #include <aws/kinesis/KinesisRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/kinesis/model/MetricsName.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Kinesis 17 { 18 namespace Model 19 { 20 21 /** 22 * <p>Represents the input for <a>EnableEnhancedMonitoring</a>.</p><p><h3>See 23 * Also:</h3> <a 24 * href="http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/EnableEnhancedMonitoringInput">AWS 25 * API Reference</a></p> 26 */ 27 class AWS_KINESIS_API EnableEnhancedMonitoringRequest : public KinesisRequest 28 { 29 public: 30 EnableEnhancedMonitoringRequest(); 31 32 // Service request name is the Operation name which will send this request out, 33 // each operation should has unique request name, so that we can get operation's name from this request. 34 // Note: this is not true for response, multiple operations may have the same response name, 35 // so we can not get operation's name from response. GetServiceRequestName()36 inline virtual const char* GetServiceRequestName() const override { return "EnableEnhancedMonitoring"; } 37 38 Aws::String SerializePayload() const override; 39 40 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 41 42 43 /** 44 * <p>The name of the stream for which to enable enhanced monitoring.</p> 45 */ GetStreamName()46 inline const Aws::String& GetStreamName() const{ return m_streamName; } 47 48 /** 49 * <p>The name of the stream for which to enable enhanced monitoring.</p> 50 */ StreamNameHasBeenSet()51 inline bool StreamNameHasBeenSet() const { return m_streamNameHasBeenSet; } 52 53 /** 54 * <p>The name of the stream for which to enable enhanced monitoring.</p> 55 */ SetStreamName(const Aws::String & value)56 inline void SetStreamName(const Aws::String& value) { m_streamNameHasBeenSet = true; m_streamName = value; } 57 58 /** 59 * <p>The name of the stream for which to enable enhanced monitoring.</p> 60 */ SetStreamName(Aws::String && value)61 inline void SetStreamName(Aws::String&& value) { m_streamNameHasBeenSet = true; m_streamName = std::move(value); } 62 63 /** 64 * <p>The name of the stream for which to enable enhanced monitoring.</p> 65 */ SetStreamName(const char * value)66 inline void SetStreamName(const char* value) { m_streamNameHasBeenSet = true; m_streamName.assign(value); } 67 68 /** 69 * <p>The name of the stream for which to enable enhanced monitoring.</p> 70 */ WithStreamName(const Aws::String & value)71 inline EnableEnhancedMonitoringRequest& WithStreamName(const Aws::String& value) { SetStreamName(value); return *this;} 72 73 /** 74 * <p>The name of the stream for which to enable enhanced monitoring.</p> 75 */ WithStreamName(Aws::String && value)76 inline EnableEnhancedMonitoringRequest& WithStreamName(Aws::String&& value) { SetStreamName(std::move(value)); return *this;} 77 78 /** 79 * <p>The name of the stream for which to enable enhanced monitoring.</p> 80 */ WithStreamName(const char * value)81 inline EnableEnhancedMonitoringRequest& WithStreamName(const char* value) { SetStreamName(value); return *this;} 82 83 84 /** 85 * <p>List of shard-level metrics to enable.</p> <p>The following are the valid 86 * shard-level metrics. The value "<code>ALL</code>" enables every metric.</p> <ul> 87 * <li> <p> <code>IncomingBytes</code> </p> </li> <li> <p> 88 * <code>IncomingRecords</code> </p> </li> <li> <p> <code>OutgoingBytes</code> </p> 89 * </li> <li> <p> <code>OutgoingRecords</code> </p> </li> <li> <p> 90 * <code>WriteProvisionedThroughputExceeded</code> </p> </li> <li> <p> 91 * <code>ReadProvisionedThroughputExceeded</code> </p> </li> <li> <p> 92 * <code>IteratorAgeMilliseconds</code> </p> </li> <li> <p> <code>ALL</code> </p> 93 * </li> </ul> <p>For more information, see <a 94 * href="https://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html">Monitoring 95 * the Amazon Kinesis Data Streams Service with Amazon CloudWatch</a> in the 96 * <i>Amazon Kinesis Data Streams Developer Guide</i>.</p> 97 */ GetShardLevelMetrics()98 inline const Aws::Vector<MetricsName>& GetShardLevelMetrics() const{ return m_shardLevelMetrics; } 99 100 /** 101 * <p>List of shard-level metrics to enable.</p> <p>The following are the valid 102 * shard-level metrics. The value "<code>ALL</code>" enables every metric.</p> <ul> 103 * <li> <p> <code>IncomingBytes</code> </p> </li> <li> <p> 104 * <code>IncomingRecords</code> </p> </li> <li> <p> <code>OutgoingBytes</code> </p> 105 * </li> <li> <p> <code>OutgoingRecords</code> </p> </li> <li> <p> 106 * <code>WriteProvisionedThroughputExceeded</code> </p> </li> <li> <p> 107 * <code>ReadProvisionedThroughputExceeded</code> </p> </li> <li> <p> 108 * <code>IteratorAgeMilliseconds</code> </p> </li> <li> <p> <code>ALL</code> </p> 109 * </li> </ul> <p>For more information, see <a 110 * href="https://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html">Monitoring 111 * the Amazon Kinesis Data Streams Service with Amazon CloudWatch</a> in the 112 * <i>Amazon Kinesis Data Streams Developer Guide</i>.</p> 113 */ ShardLevelMetricsHasBeenSet()114 inline bool ShardLevelMetricsHasBeenSet() const { return m_shardLevelMetricsHasBeenSet; } 115 116 /** 117 * <p>List of shard-level metrics to enable.</p> <p>The following are the valid 118 * shard-level metrics. The value "<code>ALL</code>" enables every metric.</p> <ul> 119 * <li> <p> <code>IncomingBytes</code> </p> </li> <li> <p> 120 * <code>IncomingRecords</code> </p> </li> <li> <p> <code>OutgoingBytes</code> </p> 121 * </li> <li> <p> <code>OutgoingRecords</code> </p> </li> <li> <p> 122 * <code>WriteProvisionedThroughputExceeded</code> </p> </li> <li> <p> 123 * <code>ReadProvisionedThroughputExceeded</code> </p> </li> <li> <p> 124 * <code>IteratorAgeMilliseconds</code> </p> </li> <li> <p> <code>ALL</code> </p> 125 * </li> </ul> <p>For more information, see <a 126 * href="https://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html">Monitoring 127 * the Amazon Kinesis Data Streams Service with Amazon CloudWatch</a> in the 128 * <i>Amazon Kinesis Data Streams Developer Guide</i>.</p> 129 */ SetShardLevelMetrics(const Aws::Vector<MetricsName> & value)130 inline void SetShardLevelMetrics(const Aws::Vector<MetricsName>& value) { m_shardLevelMetricsHasBeenSet = true; m_shardLevelMetrics = value; } 131 132 /** 133 * <p>List of shard-level metrics to enable.</p> <p>The following are the valid 134 * shard-level metrics. The value "<code>ALL</code>" enables every metric.</p> <ul> 135 * <li> <p> <code>IncomingBytes</code> </p> </li> <li> <p> 136 * <code>IncomingRecords</code> </p> </li> <li> <p> <code>OutgoingBytes</code> </p> 137 * </li> <li> <p> <code>OutgoingRecords</code> </p> </li> <li> <p> 138 * <code>WriteProvisionedThroughputExceeded</code> </p> </li> <li> <p> 139 * <code>ReadProvisionedThroughputExceeded</code> </p> </li> <li> <p> 140 * <code>IteratorAgeMilliseconds</code> </p> </li> <li> <p> <code>ALL</code> </p> 141 * </li> </ul> <p>For more information, see <a 142 * href="https://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html">Monitoring 143 * the Amazon Kinesis Data Streams Service with Amazon CloudWatch</a> in the 144 * <i>Amazon Kinesis Data Streams Developer Guide</i>.</p> 145 */ SetShardLevelMetrics(Aws::Vector<MetricsName> && value)146 inline void SetShardLevelMetrics(Aws::Vector<MetricsName>&& value) { m_shardLevelMetricsHasBeenSet = true; m_shardLevelMetrics = std::move(value); } 147 148 /** 149 * <p>List of shard-level metrics to enable.</p> <p>The following are the valid 150 * shard-level metrics. The value "<code>ALL</code>" enables every metric.</p> <ul> 151 * <li> <p> <code>IncomingBytes</code> </p> </li> <li> <p> 152 * <code>IncomingRecords</code> </p> </li> <li> <p> <code>OutgoingBytes</code> </p> 153 * </li> <li> <p> <code>OutgoingRecords</code> </p> </li> <li> <p> 154 * <code>WriteProvisionedThroughputExceeded</code> </p> </li> <li> <p> 155 * <code>ReadProvisionedThroughputExceeded</code> </p> </li> <li> <p> 156 * <code>IteratorAgeMilliseconds</code> </p> </li> <li> <p> <code>ALL</code> </p> 157 * </li> </ul> <p>For more information, see <a 158 * href="https://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html">Monitoring 159 * the Amazon Kinesis Data Streams Service with Amazon CloudWatch</a> in the 160 * <i>Amazon Kinesis Data Streams Developer Guide</i>.</p> 161 */ WithShardLevelMetrics(const Aws::Vector<MetricsName> & value)162 inline EnableEnhancedMonitoringRequest& WithShardLevelMetrics(const Aws::Vector<MetricsName>& value) { SetShardLevelMetrics(value); return *this;} 163 164 /** 165 * <p>List of shard-level metrics to enable.</p> <p>The following are the valid 166 * shard-level metrics. The value "<code>ALL</code>" enables every metric.</p> <ul> 167 * <li> <p> <code>IncomingBytes</code> </p> </li> <li> <p> 168 * <code>IncomingRecords</code> </p> </li> <li> <p> <code>OutgoingBytes</code> </p> 169 * </li> <li> <p> <code>OutgoingRecords</code> </p> </li> <li> <p> 170 * <code>WriteProvisionedThroughputExceeded</code> </p> </li> <li> <p> 171 * <code>ReadProvisionedThroughputExceeded</code> </p> </li> <li> <p> 172 * <code>IteratorAgeMilliseconds</code> </p> </li> <li> <p> <code>ALL</code> </p> 173 * </li> </ul> <p>For more information, see <a 174 * href="https://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html">Monitoring 175 * the Amazon Kinesis Data Streams Service with Amazon CloudWatch</a> in the 176 * <i>Amazon Kinesis Data Streams Developer Guide</i>.</p> 177 */ WithShardLevelMetrics(Aws::Vector<MetricsName> && value)178 inline EnableEnhancedMonitoringRequest& WithShardLevelMetrics(Aws::Vector<MetricsName>&& value) { SetShardLevelMetrics(std::move(value)); return *this;} 179 180 /** 181 * <p>List of shard-level metrics to enable.</p> <p>The following are the valid 182 * shard-level metrics. The value "<code>ALL</code>" enables every metric.</p> <ul> 183 * <li> <p> <code>IncomingBytes</code> </p> </li> <li> <p> 184 * <code>IncomingRecords</code> </p> </li> <li> <p> <code>OutgoingBytes</code> </p> 185 * </li> <li> <p> <code>OutgoingRecords</code> </p> </li> <li> <p> 186 * <code>WriteProvisionedThroughputExceeded</code> </p> </li> <li> <p> 187 * <code>ReadProvisionedThroughputExceeded</code> </p> </li> <li> <p> 188 * <code>IteratorAgeMilliseconds</code> </p> </li> <li> <p> <code>ALL</code> </p> 189 * </li> </ul> <p>For more information, see <a 190 * href="https://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html">Monitoring 191 * the Amazon Kinesis Data Streams Service with Amazon CloudWatch</a> in the 192 * <i>Amazon Kinesis Data Streams Developer Guide</i>.</p> 193 */ AddShardLevelMetrics(const MetricsName & value)194 inline EnableEnhancedMonitoringRequest& AddShardLevelMetrics(const MetricsName& value) { m_shardLevelMetricsHasBeenSet = true; m_shardLevelMetrics.push_back(value); return *this; } 195 196 /** 197 * <p>List of shard-level metrics to enable.</p> <p>The following are the valid 198 * shard-level metrics. The value "<code>ALL</code>" enables every metric.</p> <ul> 199 * <li> <p> <code>IncomingBytes</code> </p> </li> <li> <p> 200 * <code>IncomingRecords</code> </p> </li> <li> <p> <code>OutgoingBytes</code> </p> 201 * </li> <li> <p> <code>OutgoingRecords</code> </p> </li> <li> <p> 202 * <code>WriteProvisionedThroughputExceeded</code> </p> </li> <li> <p> 203 * <code>ReadProvisionedThroughputExceeded</code> </p> </li> <li> <p> 204 * <code>IteratorAgeMilliseconds</code> </p> </li> <li> <p> <code>ALL</code> </p> 205 * </li> </ul> <p>For more information, see <a 206 * href="https://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html">Monitoring 207 * the Amazon Kinesis Data Streams Service with Amazon CloudWatch</a> in the 208 * <i>Amazon Kinesis Data Streams Developer Guide</i>.</p> 209 */ AddShardLevelMetrics(MetricsName && value)210 inline EnableEnhancedMonitoringRequest& AddShardLevelMetrics(MetricsName&& value) { m_shardLevelMetricsHasBeenSet = true; m_shardLevelMetrics.push_back(std::move(value)); return *this; } 211 212 private: 213 214 Aws::String m_streamName; 215 bool m_streamNameHasBeenSet; 216 217 Aws::Vector<MetricsName> m_shardLevelMetrics; 218 bool m_shardLevelMetricsHasBeenSet; 219 }; 220 221 } // namespace Model 222 } // namespace Kinesis 223 } // namespace Aws 224