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/CopyCommand.h> 10 #include <aws/firehose/model/RedshiftRetryOptions.h> 11 #include <aws/firehose/model/S3DestinationDescription.h> 12 #include <aws/firehose/model/ProcessingConfiguration.h> 13 #include <aws/firehose/model/RedshiftS3BackupMode.h> 14 #include <aws/firehose/model/CloudWatchLoggingOptions.h> 15 #include <utility> 16 17 namespace Aws 18 { 19 namespace Utils 20 { 21 namespace Json 22 { 23 class JsonValue; 24 class JsonView; 25 } // namespace Json 26 } // namespace Utils 27 namespace Firehose 28 { 29 namespace Model 30 { 31 32 /** 33 * <p>Describes a destination in Amazon Redshift.</p><p><h3>See Also:</h3> <a 34 * href="http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/RedshiftDestinationDescription">AWS 35 * API Reference</a></p> 36 */ 37 class AWS_FIREHOSE_API RedshiftDestinationDescription 38 { 39 public: 40 RedshiftDestinationDescription(); 41 RedshiftDestinationDescription(Aws::Utils::Json::JsonView jsonValue); 42 RedshiftDestinationDescription& operator=(Aws::Utils::Json::JsonView jsonValue); 43 Aws::Utils::Json::JsonValue Jsonize() const; 44 45 46 /** 47 * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, 48 * see <a 49 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 50 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 51 */ GetRoleARN()52 inline const Aws::String& GetRoleARN() const{ return m_roleARN; } 53 54 /** 55 * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, 56 * see <a 57 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 58 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 59 */ RoleARNHasBeenSet()60 inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; } 61 62 /** 63 * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, 64 * see <a 65 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 66 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 67 */ SetRoleARN(const Aws::String & value)68 inline void SetRoleARN(const Aws::String& value) { m_roleARNHasBeenSet = true; m_roleARN = value; } 69 70 /** 71 * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, 72 * see <a 73 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 74 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 75 */ SetRoleARN(Aws::String && value)76 inline void SetRoleARN(Aws::String&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::move(value); } 77 78 /** 79 * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, 80 * see <a 81 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 82 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 83 */ SetRoleARN(const char * value)84 inline void SetRoleARN(const char* value) { m_roleARNHasBeenSet = true; m_roleARN.assign(value); } 85 86 /** 87 * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, 88 * see <a 89 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 90 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 91 */ WithRoleARN(const Aws::String & value)92 inline RedshiftDestinationDescription& WithRoleARN(const Aws::String& value) { SetRoleARN(value); return *this;} 93 94 /** 95 * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, 96 * see <a 97 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 98 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 99 */ WithRoleARN(Aws::String && value)100 inline RedshiftDestinationDescription& WithRoleARN(Aws::String&& value) { SetRoleARN(std::move(value)); return *this;} 101 102 /** 103 * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, 104 * see <a 105 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 106 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 107 */ WithRoleARN(const char * value)108 inline RedshiftDestinationDescription& WithRoleARN(const char* value) { SetRoleARN(value); return *this;} 109 110 111 /** 112 * <p>The database connection string.</p> 113 */ GetClusterJDBCURL()114 inline const Aws::String& GetClusterJDBCURL() const{ return m_clusterJDBCURL; } 115 116 /** 117 * <p>The database connection string.</p> 118 */ ClusterJDBCURLHasBeenSet()119 inline bool ClusterJDBCURLHasBeenSet() const { return m_clusterJDBCURLHasBeenSet; } 120 121 /** 122 * <p>The database connection string.</p> 123 */ SetClusterJDBCURL(const Aws::String & value)124 inline void SetClusterJDBCURL(const Aws::String& value) { m_clusterJDBCURLHasBeenSet = true; m_clusterJDBCURL = value; } 125 126 /** 127 * <p>The database connection string.</p> 128 */ SetClusterJDBCURL(Aws::String && value)129 inline void SetClusterJDBCURL(Aws::String&& value) { m_clusterJDBCURLHasBeenSet = true; m_clusterJDBCURL = std::move(value); } 130 131 /** 132 * <p>The database connection string.</p> 133 */ SetClusterJDBCURL(const char * value)134 inline void SetClusterJDBCURL(const char* value) { m_clusterJDBCURLHasBeenSet = true; m_clusterJDBCURL.assign(value); } 135 136 /** 137 * <p>The database connection string.</p> 138 */ WithClusterJDBCURL(const Aws::String & value)139 inline RedshiftDestinationDescription& WithClusterJDBCURL(const Aws::String& value) { SetClusterJDBCURL(value); return *this;} 140 141 /** 142 * <p>The database connection string.</p> 143 */ WithClusterJDBCURL(Aws::String && value)144 inline RedshiftDestinationDescription& WithClusterJDBCURL(Aws::String&& value) { SetClusterJDBCURL(std::move(value)); return *this;} 145 146 /** 147 * <p>The database connection string.</p> 148 */ WithClusterJDBCURL(const char * value)149 inline RedshiftDestinationDescription& WithClusterJDBCURL(const char* value) { SetClusterJDBCURL(value); return *this;} 150 151 152 /** 153 * <p>The <code>COPY</code> command.</p> 154 */ GetCopyCommand()155 inline const CopyCommand& GetCopyCommand() const{ return m_copyCommand; } 156 157 /** 158 * <p>The <code>COPY</code> command.</p> 159 */ CopyCommandHasBeenSet()160 inline bool CopyCommandHasBeenSet() const { return m_copyCommandHasBeenSet; } 161 162 /** 163 * <p>The <code>COPY</code> command.</p> 164 */ SetCopyCommand(const CopyCommand & value)165 inline void SetCopyCommand(const CopyCommand& value) { m_copyCommandHasBeenSet = true; m_copyCommand = value; } 166 167 /** 168 * <p>The <code>COPY</code> command.</p> 169 */ SetCopyCommand(CopyCommand && value)170 inline void SetCopyCommand(CopyCommand&& value) { m_copyCommandHasBeenSet = true; m_copyCommand = std::move(value); } 171 172 /** 173 * <p>The <code>COPY</code> command.</p> 174 */ WithCopyCommand(const CopyCommand & value)175 inline RedshiftDestinationDescription& WithCopyCommand(const CopyCommand& value) { SetCopyCommand(value); return *this;} 176 177 /** 178 * <p>The <code>COPY</code> command.</p> 179 */ WithCopyCommand(CopyCommand && value)180 inline RedshiftDestinationDescription& WithCopyCommand(CopyCommand&& value) { SetCopyCommand(std::move(value)); return *this;} 181 182 183 /** 184 * <p>The name of the user.</p> 185 */ GetUsername()186 inline const Aws::String& GetUsername() const{ return m_username; } 187 188 /** 189 * <p>The name of the user.</p> 190 */ UsernameHasBeenSet()191 inline bool UsernameHasBeenSet() const { return m_usernameHasBeenSet; } 192 193 /** 194 * <p>The name of the user.</p> 195 */ SetUsername(const Aws::String & value)196 inline void SetUsername(const Aws::String& value) { m_usernameHasBeenSet = true; m_username = value; } 197 198 /** 199 * <p>The name of the user.</p> 200 */ SetUsername(Aws::String && value)201 inline void SetUsername(Aws::String&& value) { m_usernameHasBeenSet = true; m_username = std::move(value); } 202 203 /** 204 * <p>The name of the user.</p> 205 */ SetUsername(const char * value)206 inline void SetUsername(const char* value) { m_usernameHasBeenSet = true; m_username.assign(value); } 207 208 /** 209 * <p>The name of the user.</p> 210 */ WithUsername(const Aws::String & value)211 inline RedshiftDestinationDescription& WithUsername(const Aws::String& value) { SetUsername(value); return *this;} 212 213 /** 214 * <p>The name of the user.</p> 215 */ WithUsername(Aws::String && value)216 inline RedshiftDestinationDescription& WithUsername(Aws::String&& value) { SetUsername(std::move(value)); return *this;} 217 218 /** 219 * <p>The name of the user.</p> 220 */ WithUsername(const char * value)221 inline RedshiftDestinationDescription& WithUsername(const char* value) { SetUsername(value); return *this;} 222 223 224 /** 225 * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver 226 * documents to Amazon Redshift. Default value is 3600 (60 minutes).</p> 227 */ GetRetryOptions()228 inline const RedshiftRetryOptions& GetRetryOptions() const{ return m_retryOptions; } 229 230 /** 231 * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver 232 * documents to Amazon Redshift. Default value is 3600 (60 minutes).</p> 233 */ RetryOptionsHasBeenSet()234 inline bool RetryOptionsHasBeenSet() const { return m_retryOptionsHasBeenSet; } 235 236 /** 237 * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver 238 * documents to Amazon Redshift. Default value is 3600 (60 minutes).</p> 239 */ SetRetryOptions(const RedshiftRetryOptions & value)240 inline void SetRetryOptions(const RedshiftRetryOptions& value) { m_retryOptionsHasBeenSet = true; m_retryOptions = value; } 241 242 /** 243 * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver 244 * documents to Amazon Redshift. Default value is 3600 (60 minutes).</p> 245 */ SetRetryOptions(RedshiftRetryOptions && value)246 inline void SetRetryOptions(RedshiftRetryOptions&& value) { m_retryOptionsHasBeenSet = true; m_retryOptions = std::move(value); } 247 248 /** 249 * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver 250 * documents to Amazon Redshift. Default value is 3600 (60 minutes).</p> 251 */ WithRetryOptions(const RedshiftRetryOptions & value)252 inline RedshiftDestinationDescription& WithRetryOptions(const RedshiftRetryOptions& value) { SetRetryOptions(value); return *this;} 253 254 /** 255 * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver 256 * documents to Amazon Redshift. Default value is 3600 (60 minutes).</p> 257 */ WithRetryOptions(RedshiftRetryOptions && value)258 inline RedshiftDestinationDescription& WithRetryOptions(RedshiftRetryOptions&& value) { SetRetryOptions(std::move(value)); return *this;} 259 260 261 /** 262 * <p>The Amazon S3 destination.</p> 263 */ GetS3DestinationDescription()264 inline const S3DestinationDescription& GetS3DestinationDescription() const{ return m_s3DestinationDescription; } 265 266 /** 267 * <p>The Amazon S3 destination.</p> 268 */ S3DestinationDescriptionHasBeenSet()269 inline bool S3DestinationDescriptionHasBeenSet() const { return m_s3DestinationDescriptionHasBeenSet; } 270 271 /** 272 * <p>The Amazon S3 destination.</p> 273 */ SetS3DestinationDescription(const S3DestinationDescription & value)274 inline void SetS3DestinationDescription(const S3DestinationDescription& value) { m_s3DestinationDescriptionHasBeenSet = true; m_s3DestinationDescription = value; } 275 276 /** 277 * <p>The Amazon S3 destination.</p> 278 */ SetS3DestinationDescription(S3DestinationDescription && value)279 inline void SetS3DestinationDescription(S3DestinationDescription&& value) { m_s3DestinationDescriptionHasBeenSet = true; m_s3DestinationDescription = std::move(value); } 280 281 /** 282 * <p>The Amazon S3 destination.</p> 283 */ WithS3DestinationDescription(const S3DestinationDescription & value)284 inline RedshiftDestinationDescription& WithS3DestinationDescription(const S3DestinationDescription& value) { SetS3DestinationDescription(value); return *this;} 285 286 /** 287 * <p>The Amazon S3 destination.</p> 288 */ WithS3DestinationDescription(S3DestinationDescription && value)289 inline RedshiftDestinationDescription& WithS3DestinationDescription(S3DestinationDescription&& value) { SetS3DestinationDescription(std::move(value)); return *this;} 290 291 292 /** 293 * <p>The data processing configuration.</p> 294 */ GetProcessingConfiguration()295 inline const ProcessingConfiguration& GetProcessingConfiguration() const{ return m_processingConfiguration; } 296 297 /** 298 * <p>The data processing configuration.</p> 299 */ ProcessingConfigurationHasBeenSet()300 inline bool ProcessingConfigurationHasBeenSet() const { return m_processingConfigurationHasBeenSet; } 301 302 /** 303 * <p>The data processing configuration.</p> 304 */ SetProcessingConfiguration(const ProcessingConfiguration & value)305 inline void SetProcessingConfiguration(const ProcessingConfiguration& value) { m_processingConfigurationHasBeenSet = true; m_processingConfiguration = value; } 306 307 /** 308 * <p>The data processing configuration.</p> 309 */ SetProcessingConfiguration(ProcessingConfiguration && value)310 inline void SetProcessingConfiguration(ProcessingConfiguration&& value) { m_processingConfigurationHasBeenSet = true; m_processingConfiguration = std::move(value); } 311 312 /** 313 * <p>The data processing configuration.</p> 314 */ WithProcessingConfiguration(const ProcessingConfiguration & value)315 inline RedshiftDestinationDescription& WithProcessingConfiguration(const ProcessingConfiguration& value) { SetProcessingConfiguration(value); return *this;} 316 317 /** 318 * <p>The data processing configuration.</p> 319 */ WithProcessingConfiguration(ProcessingConfiguration && value)320 inline RedshiftDestinationDescription& WithProcessingConfiguration(ProcessingConfiguration&& value) { SetProcessingConfiguration(std::move(value)); return *this;} 321 322 323 /** 324 * <p>The Amazon S3 backup mode.</p> 325 */ GetS3BackupMode()326 inline const RedshiftS3BackupMode& GetS3BackupMode() const{ return m_s3BackupMode; } 327 328 /** 329 * <p>The Amazon S3 backup mode.</p> 330 */ S3BackupModeHasBeenSet()331 inline bool S3BackupModeHasBeenSet() const { return m_s3BackupModeHasBeenSet; } 332 333 /** 334 * <p>The Amazon S3 backup mode.</p> 335 */ SetS3BackupMode(const RedshiftS3BackupMode & value)336 inline void SetS3BackupMode(const RedshiftS3BackupMode& value) { m_s3BackupModeHasBeenSet = true; m_s3BackupMode = value; } 337 338 /** 339 * <p>The Amazon S3 backup mode.</p> 340 */ SetS3BackupMode(RedshiftS3BackupMode && value)341 inline void SetS3BackupMode(RedshiftS3BackupMode&& value) { m_s3BackupModeHasBeenSet = true; m_s3BackupMode = std::move(value); } 342 343 /** 344 * <p>The Amazon S3 backup mode.</p> 345 */ WithS3BackupMode(const RedshiftS3BackupMode & value)346 inline RedshiftDestinationDescription& WithS3BackupMode(const RedshiftS3BackupMode& value) { SetS3BackupMode(value); return *this;} 347 348 /** 349 * <p>The Amazon S3 backup mode.</p> 350 */ WithS3BackupMode(RedshiftS3BackupMode && value)351 inline RedshiftDestinationDescription& WithS3BackupMode(RedshiftS3BackupMode&& value) { SetS3BackupMode(std::move(value)); return *this;} 352 353 354 /** 355 * <p>The configuration for backup in Amazon S3.</p> 356 */ GetS3BackupDescription()357 inline const S3DestinationDescription& GetS3BackupDescription() const{ return m_s3BackupDescription; } 358 359 /** 360 * <p>The configuration for backup in Amazon S3.</p> 361 */ S3BackupDescriptionHasBeenSet()362 inline bool S3BackupDescriptionHasBeenSet() const { return m_s3BackupDescriptionHasBeenSet; } 363 364 /** 365 * <p>The configuration for backup in Amazon S3.</p> 366 */ SetS3BackupDescription(const S3DestinationDescription & value)367 inline void SetS3BackupDescription(const S3DestinationDescription& value) { m_s3BackupDescriptionHasBeenSet = true; m_s3BackupDescription = value; } 368 369 /** 370 * <p>The configuration for backup in Amazon S3.</p> 371 */ SetS3BackupDescription(S3DestinationDescription && value)372 inline void SetS3BackupDescription(S3DestinationDescription&& value) { m_s3BackupDescriptionHasBeenSet = true; m_s3BackupDescription = std::move(value); } 373 374 /** 375 * <p>The configuration for backup in Amazon S3.</p> 376 */ WithS3BackupDescription(const S3DestinationDescription & value)377 inline RedshiftDestinationDescription& WithS3BackupDescription(const S3DestinationDescription& value) { SetS3BackupDescription(value); return *this;} 378 379 /** 380 * <p>The configuration for backup in Amazon S3.</p> 381 */ WithS3BackupDescription(S3DestinationDescription && value)382 inline RedshiftDestinationDescription& WithS3BackupDescription(S3DestinationDescription&& value) { SetS3BackupDescription(std::move(value)); return *this;} 383 384 385 /** 386 * <p>The Amazon CloudWatch logging options for your delivery stream.</p> 387 */ GetCloudWatchLoggingOptions()388 inline const CloudWatchLoggingOptions& GetCloudWatchLoggingOptions() const{ return m_cloudWatchLoggingOptions; } 389 390 /** 391 * <p>The Amazon CloudWatch logging options for your delivery stream.</p> 392 */ CloudWatchLoggingOptionsHasBeenSet()393 inline bool CloudWatchLoggingOptionsHasBeenSet() const { return m_cloudWatchLoggingOptionsHasBeenSet; } 394 395 /** 396 * <p>The Amazon CloudWatch logging options for your delivery stream.</p> 397 */ SetCloudWatchLoggingOptions(const CloudWatchLoggingOptions & value)398 inline void SetCloudWatchLoggingOptions(const CloudWatchLoggingOptions& value) { m_cloudWatchLoggingOptionsHasBeenSet = true; m_cloudWatchLoggingOptions = value; } 399 400 /** 401 * <p>The Amazon CloudWatch logging options for your delivery stream.</p> 402 */ SetCloudWatchLoggingOptions(CloudWatchLoggingOptions && value)403 inline void SetCloudWatchLoggingOptions(CloudWatchLoggingOptions&& value) { m_cloudWatchLoggingOptionsHasBeenSet = true; m_cloudWatchLoggingOptions = std::move(value); } 404 405 /** 406 * <p>The Amazon CloudWatch logging options for your delivery stream.</p> 407 */ WithCloudWatchLoggingOptions(const CloudWatchLoggingOptions & value)408 inline RedshiftDestinationDescription& WithCloudWatchLoggingOptions(const CloudWatchLoggingOptions& value) { SetCloudWatchLoggingOptions(value); return *this;} 409 410 /** 411 * <p>The Amazon CloudWatch logging options for your delivery stream.</p> 412 */ WithCloudWatchLoggingOptions(CloudWatchLoggingOptions && value)413 inline RedshiftDestinationDescription& WithCloudWatchLoggingOptions(CloudWatchLoggingOptions&& value) { SetCloudWatchLoggingOptions(std::move(value)); return *this;} 414 415 private: 416 417 Aws::String m_roleARN; 418 bool m_roleARNHasBeenSet; 419 420 Aws::String m_clusterJDBCURL; 421 bool m_clusterJDBCURLHasBeenSet; 422 423 CopyCommand m_copyCommand; 424 bool m_copyCommandHasBeenSet; 425 426 Aws::String m_username; 427 bool m_usernameHasBeenSet; 428 429 RedshiftRetryOptions m_retryOptions; 430 bool m_retryOptionsHasBeenSet; 431 432 S3DestinationDescription m_s3DestinationDescription; 433 bool m_s3DestinationDescriptionHasBeenSet; 434 435 ProcessingConfiguration m_processingConfiguration; 436 bool m_processingConfigurationHasBeenSet; 437 438 RedshiftS3BackupMode m_s3BackupMode; 439 bool m_s3BackupModeHasBeenSet; 440 441 S3DestinationDescription m_s3BackupDescription; 442 bool m_s3BackupDescriptionHasBeenSet; 443 444 CloudWatchLoggingOptions m_cloudWatchLoggingOptions; 445 bool m_cloudWatchLoggingOptionsHasBeenSet; 446 }; 447 448 } // namespace Model 449 } // namespace Firehose 450 } // namespace Aws 451