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/firehose/Firehose_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/firehose/model/DeliveryStreamStatus.h> 10 #include <aws/firehose/model/FailureDescription.h> 11 #include <aws/firehose/model/DeliveryStreamEncryptionConfiguration.h> 12 #include <aws/firehose/model/DeliveryStreamType.h> 13 #include <aws/core/utils/DateTime.h> 14 #include <aws/firehose/model/SourceDescription.h> 15 #include <aws/core/utils/memory/stl/AWSVector.h> 16 #include <aws/firehose/model/DestinationDescription.h> 17 #include <utility> 18 19 namespace Aws 20 { 21 namespace Utils 22 { 23 namespace Json 24 { 25 class JsonValue; 26 class JsonView; 27 } // namespace Json 28 } // namespace Utils 29 namespace Firehose 30 { 31 namespace Model 32 { 33 34 /** 35 * <p>Contains information about a delivery stream.</p><p><h3>See Also:</h3> <a 36 * href="http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/DeliveryStreamDescription">AWS 37 * API Reference</a></p> 38 */ 39 class AWS_FIREHOSE_API DeliveryStreamDescription 40 { 41 public: 42 DeliveryStreamDescription(); 43 DeliveryStreamDescription(Aws::Utils::Json::JsonView jsonValue); 44 DeliveryStreamDescription& operator=(Aws::Utils::Json::JsonView jsonValue); 45 Aws::Utils::Json::JsonValue Jsonize() const; 46 47 48 /** 49 * <p>The name of the delivery stream.</p> 50 */ GetDeliveryStreamName()51 inline const Aws::String& GetDeliveryStreamName() const{ return m_deliveryStreamName; } 52 53 /** 54 * <p>The name of the delivery stream.</p> 55 */ DeliveryStreamNameHasBeenSet()56 inline bool DeliveryStreamNameHasBeenSet() const { return m_deliveryStreamNameHasBeenSet; } 57 58 /** 59 * <p>The name of the delivery stream.</p> 60 */ SetDeliveryStreamName(const Aws::String & value)61 inline void SetDeliveryStreamName(const Aws::String& value) { m_deliveryStreamNameHasBeenSet = true; m_deliveryStreamName = value; } 62 63 /** 64 * <p>The name of the delivery stream.</p> 65 */ SetDeliveryStreamName(Aws::String && value)66 inline void SetDeliveryStreamName(Aws::String&& value) { m_deliveryStreamNameHasBeenSet = true; m_deliveryStreamName = std::move(value); } 67 68 /** 69 * <p>The name of the delivery stream.</p> 70 */ SetDeliveryStreamName(const char * value)71 inline void SetDeliveryStreamName(const char* value) { m_deliveryStreamNameHasBeenSet = true; m_deliveryStreamName.assign(value); } 72 73 /** 74 * <p>The name of the delivery stream.</p> 75 */ WithDeliveryStreamName(const Aws::String & value)76 inline DeliveryStreamDescription& WithDeliveryStreamName(const Aws::String& value) { SetDeliveryStreamName(value); return *this;} 77 78 /** 79 * <p>The name of the delivery stream.</p> 80 */ WithDeliveryStreamName(Aws::String && value)81 inline DeliveryStreamDescription& WithDeliveryStreamName(Aws::String&& value) { SetDeliveryStreamName(std::move(value)); return *this;} 82 83 /** 84 * <p>The name of the delivery stream.</p> 85 */ WithDeliveryStreamName(const char * value)86 inline DeliveryStreamDescription& WithDeliveryStreamName(const char* value) { SetDeliveryStreamName(value); return *this;} 87 88 89 /** 90 * <p>The Amazon Resource Name (ARN) of the delivery stream. For more information, 91 * see <a 92 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 93 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 94 */ GetDeliveryStreamARN()95 inline const Aws::String& GetDeliveryStreamARN() const{ return m_deliveryStreamARN; } 96 97 /** 98 * <p>The Amazon Resource Name (ARN) of the delivery stream. For more information, 99 * see <a 100 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 101 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 102 */ DeliveryStreamARNHasBeenSet()103 inline bool DeliveryStreamARNHasBeenSet() const { return m_deliveryStreamARNHasBeenSet; } 104 105 /** 106 * <p>The Amazon Resource Name (ARN) of the delivery stream. For more information, 107 * see <a 108 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 109 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 110 */ SetDeliveryStreamARN(const Aws::String & value)111 inline void SetDeliveryStreamARN(const Aws::String& value) { m_deliveryStreamARNHasBeenSet = true; m_deliveryStreamARN = value; } 112 113 /** 114 * <p>The Amazon Resource Name (ARN) of the delivery stream. For more information, 115 * see <a 116 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 117 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 118 */ SetDeliveryStreamARN(Aws::String && value)119 inline void SetDeliveryStreamARN(Aws::String&& value) { m_deliveryStreamARNHasBeenSet = true; m_deliveryStreamARN = std::move(value); } 120 121 /** 122 * <p>The Amazon Resource Name (ARN) of the delivery stream. For more information, 123 * see <a 124 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 125 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 126 */ SetDeliveryStreamARN(const char * value)127 inline void SetDeliveryStreamARN(const char* value) { m_deliveryStreamARNHasBeenSet = true; m_deliveryStreamARN.assign(value); } 128 129 /** 130 * <p>The Amazon Resource Name (ARN) of the delivery stream. For more information, 131 * see <a 132 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 133 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 134 */ WithDeliveryStreamARN(const Aws::String & value)135 inline DeliveryStreamDescription& WithDeliveryStreamARN(const Aws::String& value) { SetDeliveryStreamARN(value); return *this;} 136 137 /** 138 * <p>The Amazon Resource Name (ARN) of the delivery stream. For more information, 139 * see <a 140 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 141 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 142 */ WithDeliveryStreamARN(Aws::String && value)143 inline DeliveryStreamDescription& WithDeliveryStreamARN(Aws::String&& value) { SetDeliveryStreamARN(std::move(value)); return *this;} 144 145 /** 146 * <p>The Amazon Resource Name (ARN) of the delivery stream. For more information, 147 * see <a 148 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 149 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 150 */ WithDeliveryStreamARN(const char * value)151 inline DeliveryStreamDescription& WithDeliveryStreamARN(const char* value) { SetDeliveryStreamARN(value); return *this;} 152 153 154 /** 155 * <p>The status of the delivery stream. If the status of a delivery stream is 156 * <code>CREATING_FAILED</code>, this status doesn't change, and you can't invoke 157 * <code>CreateDeliveryStream</code> again on it. However, you can invoke the 158 * <a>DeleteDeliveryStream</a> operation to delete it.</p> 159 */ GetDeliveryStreamStatus()160 inline const DeliveryStreamStatus& GetDeliveryStreamStatus() const{ return m_deliveryStreamStatus; } 161 162 /** 163 * <p>The status of the delivery stream. If the status of a delivery stream is 164 * <code>CREATING_FAILED</code>, this status doesn't change, and you can't invoke 165 * <code>CreateDeliveryStream</code> again on it. However, you can invoke the 166 * <a>DeleteDeliveryStream</a> operation to delete it.</p> 167 */ DeliveryStreamStatusHasBeenSet()168 inline bool DeliveryStreamStatusHasBeenSet() const { return m_deliveryStreamStatusHasBeenSet; } 169 170 /** 171 * <p>The status of the delivery stream. If the status of a delivery stream is 172 * <code>CREATING_FAILED</code>, this status doesn't change, and you can't invoke 173 * <code>CreateDeliveryStream</code> again on it. However, you can invoke the 174 * <a>DeleteDeliveryStream</a> operation to delete it.</p> 175 */ SetDeliveryStreamStatus(const DeliveryStreamStatus & value)176 inline void SetDeliveryStreamStatus(const DeliveryStreamStatus& value) { m_deliveryStreamStatusHasBeenSet = true; m_deliveryStreamStatus = value; } 177 178 /** 179 * <p>The status of the delivery stream. If the status of a delivery stream is 180 * <code>CREATING_FAILED</code>, this status doesn't change, and you can't invoke 181 * <code>CreateDeliveryStream</code> again on it. However, you can invoke the 182 * <a>DeleteDeliveryStream</a> operation to delete it.</p> 183 */ SetDeliveryStreamStatus(DeliveryStreamStatus && value)184 inline void SetDeliveryStreamStatus(DeliveryStreamStatus&& value) { m_deliveryStreamStatusHasBeenSet = true; m_deliveryStreamStatus = std::move(value); } 185 186 /** 187 * <p>The status of the delivery stream. If the status of a delivery stream is 188 * <code>CREATING_FAILED</code>, this status doesn't change, and you can't invoke 189 * <code>CreateDeliveryStream</code> again on it. However, you can invoke the 190 * <a>DeleteDeliveryStream</a> operation to delete it.</p> 191 */ WithDeliveryStreamStatus(const DeliveryStreamStatus & value)192 inline DeliveryStreamDescription& WithDeliveryStreamStatus(const DeliveryStreamStatus& value) { SetDeliveryStreamStatus(value); return *this;} 193 194 /** 195 * <p>The status of the delivery stream. If the status of a delivery stream is 196 * <code>CREATING_FAILED</code>, this status doesn't change, and you can't invoke 197 * <code>CreateDeliveryStream</code> again on it. However, you can invoke the 198 * <a>DeleteDeliveryStream</a> operation to delete it.</p> 199 */ WithDeliveryStreamStatus(DeliveryStreamStatus && value)200 inline DeliveryStreamDescription& WithDeliveryStreamStatus(DeliveryStreamStatus&& value) { SetDeliveryStreamStatus(std::move(value)); return *this;} 201 202 203 /** 204 * <p>Provides details in case one of the following operations fails due to an 205 * error related to KMS: <a>CreateDeliveryStream</a>, <a>DeleteDeliveryStream</a>, 206 * <a>StartDeliveryStreamEncryption</a>, <a>StopDeliveryStreamEncryption</a>.</p> 207 */ GetFailureDescription()208 inline const FailureDescription& GetFailureDescription() const{ return m_failureDescription; } 209 210 /** 211 * <p>Provides details in case one of the following operations fails due to an 212 * error related to KMS: <a>CreateDeliveryStream</a>, <a>DeleteDeliveryStream</a>, 213 * <a>StartDeliveryStreamEncryption</a>, <a>StopDeliveryStreamEncryption</a>.</p> 214 */ FailureDescriptionHasBeenSet()215 inline bool FailureDescriptionHasBeenSet() const { return m_failureDescriptionHasBeenSet; } 216 217 /** 218 * <p>Provides details in case one of the following operations fails due to an 219 * error related to KMS: <a>CreateDeliveryStream</a>, <a>DeleteDeliveryStream</a>, 220 * <a>StartDeliveryStreamEncryption</a>, <a>StopDeliveryStreamEncryption</a>.</p> 221 */ SetFailureDescription(const FailureDescription & value)222 inline void SetFailureDescription(const FailureDescription& value) { m_failureDescriptionHasBeenSet = true; m_failureDescription = value; } 223 224 /** 225 * <p>Provides details in case one of the following operations fails due to an 226 * error related to KMS: <a>CreateDeliveryStream</a>, <a>DeleteDeliveryStream</a>, 227 * <a>StartDeliveryStreamEncryption</a>, <a>StopDeliveryStreamEncryption</a>.</p> 228 */ SetFailureDescription(FailureDescription && value)229 inline void SetFailureDescription(FailureDescription&& value) { m_failureDescriptionHasBeenSet = true; m_failureDescription = std::move(value); } 230 231 /** 232 * <p>Provides details in case one of the following operations fails due to an 233 * error related to KMS: <a>CreateDeliveryStream</a>, <a>DeleteDeliveryStream</a>, 234 * <a>StartDeliveryStreamEncryption</a>, <a>StopDeliveryStreamEncryption</a>.</p> 235 */ WithFailureDescription(const FailureDescription & value)236 inline DeliveryStreamDescription& WithFailureDescription(const FailureDescription& value) { SetFailureDescription(value); return *this;} 237 238 /** 239 * <p>Provides details in case one of the following operations fails due to an 240 * error related to KMS: <a>CreateDeliveryStream</a>, <a>DeleteDeliveryStream</a>, 241 * <a>StartDeliveryStreamEncryption</a>, <a>StopDeliveryStreamEncryption</a>.</p> 242 */ WithFailureDescription(FailureDescription && value)243 inline DeliveryStreamDescription& WithFailureDescription(FailureDescription&& value) { SetFailureDescription(std::move(value)); return *this;} 244 245 246 /** 247 * <p>Indicates the server-side encryption (SSE) status for the delivery 248 * stream.</p> 249 */ GetDeliveryStreamEncryptionConfiguration()250 inline const DeliveryStreamEncryptionConfiguration& GetDeliveryStreamEncryptionConfiguration() const{ return m_deliveryStreamEncryptionConfiguration; } 251 252 /** 253 * <p>Indicates the server-side encryption (SSE) status for the delivery 254 * stream.</p> 255 */ DeliveryStreamEncryptionConfigurationHasBeenSet()256 inline bool DeliveryStreamEncryptionConfigurationHasBeenSet() const { return m_deliveryStreamEncryptionConfigurationHasBeenSet; } 257 258 /** 259 * <p>Indicates the server-side encryption (SSE) status for the delivery 260 * stream.</p> 261 */ SetDeliveryStreamEncryptionConfiguration(const DeliveryStreamEncryptionConfiguration & value)262 inline void SetDeliveryStreamEncryptionConfiguration(const DeliveryStreamEncryptionConfiguration& value) { m_deliveryStreamEncryptionConfigurationHasBeenSet = true; m_deliveryStreamEncryptionConfiguration = value; } 263 264 /** 265 * <p>Indicates the server-side encryption (SSE) status for the delivery 266 * stream.</p> 267 */ SetDeliveryStreamEncryptionConfiguration(DeliveryStreamEncryptionConfiguration && value)268 inline void SetDeliveryStreamEncryptionConfiguration(DeliveryStreamEncryptionConfiguration&& value) { m_deliveryStreamEncryptionConfigurationHasBeenSet = true; m_deliveryStreamEncryptionConfiguration = std::move(value); } 269 270 /** 271 * <p>Indicates the server-side encryption (SSE) status for the delivery 272 * stream.</p> 273 */ WithDeliveryStreamEncryptionConfiguration(const DeliveryStreamEncryptionConfiguration & value)274 inline DeliveryStreamDescription& WithDeliveryStreamEncryptionConfiguration(const DeliveryStreamEncryptionConfiguration& value) { SetDeliveryStreamEncryptionConfiguration(value); return *this;} 275 276 /** 277 * <p>Indicates the server-side encryption (SSE) status for the delivery 278 * stream.</p> 279 */ WithDeliveryStreamEncryptionConfiguration(DeliveryStreamEncryptionConfiguration && value)280 inline DeliveryStreamDescription& WithDeliveryStreamEncryptionConfiguration(DeliveryStreamEncryptionConfiguration&& value) { SetDeliveryStreamEncryptionConfiguration(std::move(value)); return *this;} 281 282 283 /** 284 * <p>The delivery stream type. This can be one of the following values:</p> <ul> 285 * <li> <p> <code>DirectPut</code>: Provider applications access the delivery 286 * stream directly.</p> </li> <li> <p> <code>KinesisStreamAsSource</code>: The 287 * delivery stream uses a Kinesis data stream as a source.</p> </li> </ul> 288 */ GetDeliveryStreamType()289 inline const DeliveryStreamType& GetDeliveryStreamType() const{ return m_deliveryStreamType; } 290 291 /** 292 * <p>The delivery stream type. This can be one of the following values:</p> <ul> 293 * <li> <p> <code>DirectPut</code>: Provider applications access the delivery 294 * stream directly.</p> </li> <li> <p> <code>KinesisStreamAsSource</code>: The 295 * delivery stream uses a Kinesis data stream as a source.</p> </li> </ul> 296 */ DeliveryStreamTypeHasBeenSet()297 inline bool DeliveryStreamTypeHasBeenSet() const { return m_deliveryStreamTypeHasBeenSet; } 298 299 /** 300 * <p>The delivery stream type. This can be one of the following values:</p> <ul> 301 * <li> <p> <code>DirectPut</code>: Provider applications access the delivery 302 * stream directly.</p> </li> <li> <p> <code>KinesisStreamAsSource</code>: The 303 * delivery stream uses a Kinesis data stream as a source.</p> </li> </ul> 304 */ SetDeliveryStreamType(const DeliveryStreamType & value)305 inline void SetDeliveryStreamType(const DeliveryStreamType& value) { m_deliveryStreamTypeHasBeenSet = true; m_deliveryStreamType = value; } 306 307 /** 308 * <p>The delivery stream type. This can be one of the following values:</p> <ul> 309 * <li> <p> <code>DirectPut</code>: Provider applications access the delivery 310 * stream directly.</p> </li> <li> <p> <code>KinesisStreamAsSource</code>: The 311 * delivery stream uses a Kinesis data stream as a source.</p> </li> </ul> 312 */ SetDeliveryStreamType(DeliveryStreamType && value)313 inline void SetDeliveryStreamType(DeliveryStreamType&& value) { m_deliveryStreamTypeHasBeenSet = true; m_deliveryStreamType = std::move(value); } 314 315 /** 316 * <p>The delivery stream type. This can be one of the following values:</p> <ul> 317 * <li> <p> <code>DirectPut</code>: Provider applications access the delivery 318 * stream directly.</p> </li> <li> <p> <code>KinesisStreamAsSource</code>: The 319 * delivery stream uses a Kinesis data stream as a source.</p> </li> </ul> 320 */ WithDeliveryStreamType(const DeliveryStreamType & value)321 inline DeliveryStreamDescription& WithDeliveryStreamType(const DeliveryStreamType& value) { SetDeliveryStreamType(value); return *this;} 322 323 /** 324 * <p>The delivery stream type. This can be one of the following values:</p> <ul> 325 * <li> <p> <code>DirectPut</code>: Provider applications access the delivery 326 * stream directly.</p> </li> <li> <p> <code>KinesisStreamAsSource</code>: The 327 * delivery stream uses a Kinesis data stream as a source.</p> </li> </ul> 328 */ WithDeliveryStreamType(DeliveryStreamType && value)329 inline DeliveryStreamDescription& WithDeliveryStreamType(DeliveryStreamType&& value) { SetDeliveryStreamType(std::move(value)); return *this;} 330 331 332 /** 333 * <p>Each time the destination is updated for a delivery stream, the version ID is 334 * changed, and the current version ID is required when updating the destination. 335 * This is so that the service knows it is applying the changes to the correct 336 * version of the delivery stream.</p> 337 */ GetVersionId()338 inline const Aws::String& GetVersionId() const{ return m_versionId; } 339 340 /** 341 * <p>Each time the destination is updated for a delivery stream, the version ID is 342 * changed, and the current version ID is required when updating the destination. 343 * This is so that the service knows it is applying the changes to the correct 344 * version of the delivery stream.</p> 345 */ VersionIdHasBeenSet()346 inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } 347 348 /** 349 * <p>Each time the destination is updated for a delivery stream, the version ID is 350 * changed, and the current version ID is required when updating the destination. 351 * This is so that the service knows it is applying the changes to the correct 352 * version of the delivery stream.</p> 353 */ SetVersionId(const Aws::String & value)354 inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } 355 356 /** 357 * <p>Each time the destination is updated for a delivery stream, the version ID is 358 * changed, and the current version ID is required when updating the destination. 359 * This is so that the service knows it is applying the changes to the correct 360 * version of the delivery stream.</p> 361 */ SetVersionId(Aws::String && value)362 inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } 363 364 /** 365 * <p>Each time the destination is updated for a delivery stream, the version ID is 366 * changed, and the current version ID is required when updating the destination. 367 * This is so that the service knows it is applying the changes to the correct 368 * version of the delivery stream.</p> 369 */ SetVersionId(const char * value)370 inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } 371 372 /** 373 * <p>Each time the destination is updated for a delivery stream, the version ID is 374 * changed, and the current version ID is required when updating the destination. 375 * This is so that the service knows it is applying the changes to the correct 376 * version of the delivery stream.</p> 377 */ WithVersionId(const Aws::String & value)378 inline DeliveryStreamDescription& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} 379 380 /** 381 * <p>Each time the destination is updated for a delivery stream, the version ID is 382 * changed, and the current version ID is required when updating the destination. 383 * This is so that the service knows it is applying the changes to the correct 384 * version of the delivery stream.</p> 385 */ WithVersionId(Aws::String && value)386 inline DeliveryStreamDescription& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} 387 388 /** 389 * <p>Each time the destination is updated for a delivery stream, the version ID is 390 * changed, and the current version ID is required when updating the destination. 391 * This is so that the service knows it is applying the changes to the correct 392 * version of the delivery stream.</p> 393 */ WithVersionId(const char * value)394 inline DeliveryStreamDescription& WithVersionId(const char* value) { SetVersionId(value); return *this;} 395 396 397 /** 398 * <p>The date and time that the delivery stream was created.</p> 399 */ GetCreateTimestamp()400 inline const Aws::Utils::DateTime& GetCreateTimestamp() const{ return m_createTimestamp; } 401 402 /** 403 * <p>The date and time that the delivery stream was created.</p> 404 */ CreateTimestampHasBeenSet()405 inline bool CreateTimestampHasBeenSet() const { return m_createTimestampHasBeenSet; } 406 407 /** 408 * <p>The date and time that the delivery stream was created.</p> 409 */ SetCreateTimestamp(const Aws::Utils::DateTime & value)410 inline void SetCreateTimestamp(const Aws::Utils::DateTime& value) { m_createTimestampHasBeenSet = true; m_createTimestamp = value; } 411 412 /** 413 * <p>The date and time that the delivery stream was created.</p> 414 */ SetCreateTimestamp(Aws::Utils::DateTime && value)415 inline void SetCreateTimestamp(Aws::Utils::DateTime&& value) { m_createTimestampHasBeenSet = true; m_createTimestamp = std::move(value); } 416 417 /** 418 * <p>The date and time that the delivery stream was created.</p> 419 */ WithCreateTimestamp(const Aws::Utils::DateTime & value)420 inline DeliveryStreamDescription& WithCreateTimestamp(const Aws::Utils::DateTime& value) { SetCreateTimestamp(value); return *this;} 421 422 /** 423 * <p>The date and time that the delivery stream was created.</p> 424 */ WithCreateTimestamp(Aws::Utils::DateTime && value)425 inline DeliveryStreamDescription& WithCreateTimestamp(Aws::Utils::DateTime&& value) { SetCreateTimestamp(std::move(value)); return *this;} 426 427 428 /** 429 * <p>The date and time that the delivery stream was last updated.</p> 430 */ GetLastUpdateTimestamp()431 inline const Aws::Utils::DateTime& GetLastUpdateTimestamp() const{ return m_lastUpdateTimestamp; } 432 433 /** 434 * <p>The date and time that the delivery stream was last updated.</p> 435 */ LastUpdateTimestampHasBeenSet()436 inline bool LastUpdateTimestampHasBeenSet() const { return m_lastUpdateTimestampHasBeenSet; } 437 438 /** 439 * <p>The date and time that the delivery stream was last updated.</p> 440 */ SetLastUpdateTimestamp(const Aws::Utils::DateTime & value)441 inline void SetLastUpdateTimestamp(const Aws::Utils::DateTime& value) { m_lastUpdateTimestampHasBeenSet = true; m_lastUpdateTimestamp = value; } 442 443 /** 444 * <p>The date and time that the delivery stream was last updated.</p> 445 */ SetLastUpdateTimestamp(Aws::Utils::DateTime && value)446 inline void SetLastUpdateTimestamp(Aws::Utils::DateTime&& value) { m_lastUpdateTimestampHasBeenSet = true; m_lastUpdateTimestamp = std::move(value); } 447 448 /** 449 * <p>The date and time that the delivery stream was last updated.</p> 450 */ WithLastUpdateTimestamp(const Aws::Utils::DateTime & value)451 inline DeliveryStreamDescription& WithLastUpdateTimestamp(const Aws::Utils::DateTime& value) { SetLastUpdateTimestamp(value); return *this;} 452 453 /** 454 * <p>The date and time that the delivery stream was last updated.</p> 455 */ WithLastUpdateTimestamp(Aws::Utils::DateTime && value)456 inline DeliveryStreamDescription& WithLastUpdateTimestamp(Aws::Utils::DateTime&& value) { SetLastUpdateTimestamp(std::move(value)); return *this;} 457 458 459 /** 460 * <p>If the <code>DeliveryStreamType</code> parameter is 461 * <code>KinesisStreamAsSource</code>, a <a>SourceDescription</a> object describing 462 * the source Kinesis data stream.</p> 463 */ GetSource()464 inline const SourceDescription& GetSource() const{ return m_source; } 465 466 /** 467 * <p>If the <code>DeliveryStreamType</code> parameter is 468 * <code>KinesisStreamAsSource</code>, a <a>SourceDescription</a> object describing 469 * the source Kinesis data stream.</p> 470 */ SourceHasBeenSet()471 inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } 472 473 /** 474 * <p>If the <code>DeliveryStreamType</code> parameter is 475 * <code>KinesisStreamAsSource</code>, a <a>SourceDescription</a> object describing 476 * the source Kinesis data stream.</p> 477 */ SetSource(const SourceDescription & value)478 inline void SetSource(const SourceDescription& value) { m_sourceHasBeenSet = true; m_source = value; } 479 480 /** 481 * <p>If the <code>DeliveryStreamType</code> parameter is 482 * <code>KinesisStreamAsSource</code>, a <a>SourceDescription</a> object describing 483 * the source Kinesis data stream.</p> 484 */ SetSource(SourceDescription && value)485 inline void SetSource(SourceDescription&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } 486 487 /** 488 * <p>If the <code>DeliveryStreamType</code> parameter is 489 * <code>KinesisStreamAsSource</code>, a <a>SourceDescription</a> object describing 490 * the source Kinesis data stream.</p> 491 */ WithSource(const SourceDescription & value)492 inline DeliveryStreamDescription& WithSource(const SourceDescription& value) { SetSource(value); return *this;} 493 494 /** 495 * <p>If the <code>DeliveryStreamType</code> parameter is 496 * <code>KinesisStreamAsSource</code>, a <a>SourceDescription</a> object describing 497 * the source Kinesis data stream.</p> 498 */ WithSource(SourceDescription && value)499 inline DeliveryStreamDescription& WithSource(SourceDescription&& value) { SetSource(std::move(value)); return *this;} 500 501 502 /** 503 * <p>The destinations.</p> 504 */ GetDestinations()505 inline const Aws::Vector<DestinationDescription>& GetDestinations() const{ return m_destinations; } 506 507 /** 508 * <p>The destinations.</p> 509 */ DestinationsHasBeenSet()510 inline bool DestinationsHasBeenSet() const { return m_destinationsHasBeenSet; } 511 512 /** 513 * <p>The destinations.</p> 514 */ SetDestinations(const Aws::Vector<DestinationDescription> & value)515 inline void SetDestinations(const Aws::Vector<DestinationDescription>& value) { m_destinationsHasBeenSet = true; m_destinations = value; } 516 517 /** 518 * <p>The destinations.</p> 519 */ SetDestinations(Aws::Vector<DestinationDescription> && value)520 inline void SetDestinations(Aws::Vector<DestinationDescription>&& value) { m_destinationsHasBeenSet = true; m_destinations = std::move(value); } 521 522 /** 523 * <p>The destinations.</p> 524 */ WithDestinations(const Aws::Vector<DestinationDescription> & value)525 inline DeliveryStreamDescription& WithDestinations(const Aws::Vector<DestinationDescription>& value) { SetDestinations(value); return *this;} 526 527 /** 528 * <p>The destinations.</p> 529 */ WithDestinations(Aws::Vector<DestinationDescription> && value)530 inline DeliveryStreamDescription& WithDestinations(Aws::Vector<DestinationDescription>&& value) { SetDestinations(std::move(value)); return *this;} 531 532 /** 533 * <p>The destinations.</p> 534 */ AddDestinations(const DestinationDescription & value)535 inline DeliveryStreamDescription& AddDestinations(const DestinationDescription& value) { m_destinationsHasBeenSet = true; m_destinations.push_back(value); return *this; } 536 537 /** 538 * <p>The destinations.</p> 539 */ AddDestinations(DestinationDescription && value)540 inline DeliveryStreamDescription& AddDestinations(DestinationDescription&& value) { m_destinationsHasBeenSet = true; m_destinations.push_back(std::move(value)); return *this; } 541 542 543 /** 544 * <p>Indicates whether there are more destinations available to list.</p> 545 */ GetHasMoreDestinations()546 inline bool GetHasMoreDestinations() const{ return m_hasMoreDestinations; } 547 548 /** 549 * <p>Indicates whether there are more destinations available to list.</p> 550 */ HasMoreDestinationsHasBeenSet()551 inline bool HasMoreDestinationsHasBeenSet() const { return m_hasMoreDestinationsHasBeenSet; } 552 553 /** 554 * <p>Indicates whether there are more destinations available to list.</p> 555 */ SetHasMoreDestinations(bool value)556 inline void SetHasMoreDestinations(bool value) { m_hasMoreDestinationsHasBeenSet = true; m_hasMoreDestinations = value; } 557 558 /** 559 * <p>Indicates whether there are more destinations available to list.</p> 560 */ WithHasMoreDestinations(bool value)561 inline DeliveryStreamDescription& WithHasMoreDestinations(bool value) { SetHasMoreDestinations(value); return *this;} 562 563 private: 564 565 Aws::String m_deliveryStreamName; 566 bool m_deliveryStreamNameHasBeenSet; 567 568 Aws::String m_deliveryStreamARN; 569 bool m_deliveryStreamARNHasBeenSet; 570 571 DeliveryStreamStatus m_deliveryStreamStatus; 572 bool m_deliveryStreamStatusHasBeenSet; 573 574 FailureDescription m_failureDescription; 575 bool m_failureDescriptionHasBeenSet; 576 577 DeliveryStreamEncryptionConfiguration m_deliveryStreamEncryptionConfiguration; 578 bool m_deliveryStreamEncryptionConfigurationHasBeenSet; 579 580 DeliveryStreamType m_deliveryStreamType; 581 bool m_deliveryStreamTypeHasBeenSet; 582 583 Aws::String m_versionId; 584 bool m_versionIdHasBeenSet; 585 586 Aws::Utils::DateTime m_createTimestamp; 587 bool m_createTimestampHasBeenSet; 588 589 Aws::Utils::DateTime m_lastUpdateTimestamp; 590 bool m_lastUpdateTimestampHasBeenSet; 591 592 SourceDescription m_source; 593 bool m_sourceHasBeenSet; 594 595 Aws::Vector<DestinationDescription> m_destinations; 596 bool m_destinationsHasBeenSet; 597 598 bool m_hasMoreDestinations; 599 bool m_hasMoreDestinationsHasBeenSet; 600 }; 601 602 } // namespace Model 603 } // namespace Firehose 604 } // namespace Aws 605