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/S3DestinationUpdate.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 an update for a destination in Amazon Redshift.</p><p><h3>See
34    * Also:</h3>   <a
35    * href="http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/RedshiftDestinationUpdate">AWS
36    * API Reference</a></p>
37    */
38   class AWS_FIREHOSE_API RedshiftDestinationUpdate
39   {
40   public:
41     RedshiftDestinationUpdate();
42     RedshiftDestinationUpdate(Aws::Utils::Json::JsonView jsonValue);
43     RedshiftDestinationUpdate& operator=(Aws::Utils::Json::JsonView jsonValue);
44     Aws::Utils::Json::JsonValue Jsonize() const;
45 
46 
47     /**
48      * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information,
49      * see <a
50      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
51      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
52      */
GetRoleARN()53     inline const Aws::String& GetRoleARN() const{ return m_roleARN; }
54 
55     /**
56      * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information,
57      * see <a
58      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
59      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
60      */
RoleARNHasBeenSet()61     inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; }
62 
63     /**
64      * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information,
65      * see <a
66      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
67      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
68      */
SetRoleARN(const Aws::String & value)69     inline void SetRoleARN(const Aws::String& value) { m_roleARNHasBeenSet = true; m_roleARN = value; }
70 
71     /**
72      * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information,
73      * see <a
74      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
75      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
76      */
SetRoleARN(Aws::String && value)77     inline void SetRoleARN(Aws::String&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::move(value); }
78 
79     /**
80      * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information,
81      * see <a
82      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
83      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
84      */
SetRoleARN(const char * value)85     inline void SetRoleARN(const char* value) { m_roleARNHasBeenSet = true; m_roleARN.assign(value); }
86 
87     /**
88      * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information,
89      * see <a
90      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
91      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
92      */
WithRoleARN(const Aws::String & value)93     inline RedshiftDestinationUpdate& WithRoleARN(const Aws::String& value) { SetRoleARN(value); return *this;}
94 
95     /**
96      * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information,
97      * see <a
98      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
99      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
100      */
WithRoleARN(Aws::String && value)101     inline RedshiftDestinationUpdate& WithRoleARN(Aws::String&& value) { SetRoleARN(std::move(value)); return *this;}
102 
103     /**
104      * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information,
105      * see <a
106      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
107      * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
108      */
WithRoleARN(const char * value)109     inline RedshiftDestinationUpdate& WithRoleARN(const char* value) { SetRoleARN(value); return *this;}
110 
111 
112     /**
113      * <p>The database connection string.</p>
114      */
GetClusterJDBCURL()115     inline const Aws::String& GetClusterJDBCURL() const{ return m_clusterJDBCURL; }
116 
117     /**
118      * <p>The database connection string.</p>
119      */
ClusterJDBCURLHasBeenSet()120     inline bool ClusterJDBCURLHasBeenSet() const { return m_clusterJDBCURLHasBeenSet; }
121 
122     /**
123      * <p>The database connection string.</p>
124      */
SetClusterJDBCURL(const Aws::String & value)125     inline void SetClusterJDBCURL(const Aws::String& value) { m_clusterJDBCURLHasBeenSet = true; m_clusterJDBCURL = value; }
126 
127     /**
128      * <p>The database connection string.</p>
129      */
SetClusterJDBCURL(Aws::String && value)130     inline void SetClusterJDBCURL(Aws::String&& value) { m_clusterJDBCURLHasBeenSet = true; m_clusterJDBCURL = std::move(value); }
131 
132     /**
133      * <p>The database connection string.</p>
134      */
SetClusterJDBCURL(const char * value)135     inline void SetClusterJDBCURL(const char* value) { m_clusterJDBCURLHasBeenSet = true; m_clusterJDBCURL.assign(value); }
136 
137     /**
138      * <p>The database connection string.</p>
139      */
WithClusterJDBCURL(const Aws::String & value)140     inline RedshiftDestinationUpdate& WithClusterJDBCURL(const Aws::String& value) { SetClusterJDBCURL(value); return *this;}
141 
142     /**
143      * <p>The database connection string.</p>
144      */
WithClusterJDBCURL(Aws::String && value)145     inline RedshiftDestinationUpdate& WithClusterJDBCURL(Aws::String&& value) { SetClusterJDBCURL(std::move(value)); return *this;}
146 
147     /**
148      * <p>The database connection string.</p>
149      */
WithClusterJDBCURL(const char * value)150     inline RedshiftDestinationUpdate& WithClusterJDBCURL(const char* value) { SetClusterJDBCURL(value); return *this;}
151 
152 
153     /**
154      * <p>The <code>COPY</code> command.</p>
155      */
GetCopyCommand()156     inline const CopyCommand& GetCopyCommand() const{ return m_copyCommand; }
157 
158     /**
159      * <p>The <code>COPY</code> command.</p>
160      */
CopyCommandHasBeenSet()161     inline bool CopyCommandHasBeenSet() const { return m_copyCommandHasBeenSet; }
162 
163     /**
164      * <p>The <code>COPY</code> command.</p>
165      */
SetCopyCommand(const CopyCommand & value)166     inline void SetCopyCommand(const CopyCommand& value) { m_copyCommandHasBeenSet = true; m_copyCommand = value; }
167 
168     /**
169      * <p>The <code>COPY</code> command.</p>
170      */
SetCopyCommand(CopyCommand && value)171     inline void SetCopyCommand(CopyCommand&& value) { m_copyCommandHasBeenSet = true; m_copyCommand = std::move(value); }
172 
173     /**
174      * <p>The <code>COPY</code> command.</p>
175      */
WithCopyCommand(const CopyCommand & value)176     inline RedshiftDestinationUpdate& WithCopyCommand(const CopyCommand& value) { SetCopyCommand(value); return *this;}
177 
178     /**
179      * <p>The <code>COPY</code> command.</p>
180      */
WithCopyCommand(CopyCommand && value)181     inline RedshiftDestinationUpdate& WithCopyCommand(CopyCommand&& value) { SetCopyCommand(std::move(value)); return *this;}
182 
183 
184     /**
185      * <p>The name of the user.</p>
186      */
GetUsername()187     inline const Aws::String& GetUsername() const{ return m_username; }
188 
189     /**
190      * <p>The name of the user.</p>
191      */
UsernameHasBeenSet()192     inline bool UsernameHasBeenSet() const { return m_usernameHasBeenSet; }
193 
194     /**
195      * <p>The name of the user.</p>
196      */
SetUsername(const Aws::String & value)197     inline void SetUsername(const Aws::String& value) { m_usernameHasBeenSet = true; m_username = value; }
198 
199     /**
200      * <p>The name of the user.</p>
201      */
SetUsername(Aws::String && value)202     inline void SetUsername(Aws::String&& value) { m_usernameHasBeenSet = true; m_username = std::move(value); }
203 
204     /**
205      * <p>The name of the user.</p>
206      */
SetUsername(const char * value)207     inline void SetUsername(const char* value) { m_usernameHasBeenSet = true; m_username.assign(value); }
208 
209     /**
210      * <p>The name of the user.</p>
211      */
WithUsername(const Aws::String & value)212     inline RedshiftDestinationUpdate& WithUsername(const Aws::String& value) { SetUsername(value); return *this;}
213 
214     /**
215      * <p>The name of the user.</p>
216      */
WithUsername(Aws::String && value)217     inline RedshiftDestinationUpdate& WithUsername(Aws::String&& value) { SetUsername(std::move(value)); return *this;}
218 
219     /**
220      * <p>The name of the user.</p>
221      */
WithUsername(const char * value)222     inline RedshiftDestinationUpdate& WithUsername(const char* value) { SetUsername(value); return *this;}
223 
224 
225     /**
226      * <p>The user password.</p>
227      */
GetPassword()228     inline const Aws::String& GetPassword() const{ return m_password; }
229 
230     /**
231      * <p>The user password.</p>
232      */
PasswordHasBeenSet()233     inline bool PasswordHasBeenSet() const { return m_passwordHasBeenSet; }
234 
235     /**
236      * <p>The user password.</p>
237      */
SetPassword(const Aws::String & value)238     inline void SetPassword(const Aws::String& value) { m_passwordHasBeenSet = true; m_password = value; }
239 
240     /**
241      * <p>The user password.</p>
242      */
SetPassword(Aws::String && value)243     inline void SetPassword(Aws::String&& value) { m_passwordHasBeenSet = true; m_password = std::move(value); }
244 
245     /**
246      * <p>The user password.</p>
247      */
SetPassword(const char * value)248     inline void SetPassword(const char* value) { m_passwordHasBeenSet = true; m_password.assign(value); }
249 
250     /**
251      * <p>The user password.</p>
252      */
WithPassword(const Aws::String & value)253     inline RedshiftDestinationUpdate& WithPassword(const Aws::String& value) { SetPassword(value); return *this;}
254 
255     /**
256      * <p>The user password.</p>
257      */
WithPassword(Aws::String && value)258     inline RedshiftDestinationUpdate& WithPassword(Aws::String&& value) { SetPassword(std::move(value)); return *this;}
259 
260     /**
261      * <p>The user password.</p>
262      */
WithPassword(const char * value)263     inline RedshiftDestinationUpdate& WithPassword(const char* value) { SetPassword(value); return *this;}
264 
265 
266     /**
267      * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver
268      * documents to Amazon Redshift. Default value is 3600 (60 minutes).</p>
269      */
GetRetryOptions()270     inline const RedshiftRetryOptions& GetRetryOptions() const{ return m_retryOptions; }
271 
272     /**
273      * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver
274      * documents to Amazon Redshift. Default value is 3600 (60 minutes).</p>
275      */
RetryOptionsHasBeenSet()276     inline bool RetryOptionsHasBeenSet() const { return m_retryOptionsHasBeenSet; }
277 
278     /**
279      * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver
280      * documents to Amazon Redshift. Default value is 3600 (60 minutes).</p>
281      */
SetRetryOptions(const RedshiftRetryOptions & value)282     inline void SetRetryOptions(const RedshiftRetryOptions& value) { m_retryOptionsHasBeenSet = true; m_retryOptions = value; }
283 
284     /**
285      * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver
286      * documents to Amazon Redshift. Default value is 3600 (60 minutes).</p>
287      */
SetRetryOptions(RedshiftRetryOptions && value)288     inline void SetRetryOptions(RedshiftRetryOptions&& value) { m_retryOptionsHasBeenSet = true; m_retryOptions = std::move(value); }
289 
290     /**
291      * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver
292      * documents to Amazon Redshift. Default value is 3600 (60 minutes).</p>
293      */
WithRetryOptions(const RedshiftRetryOptions & value)294     inline RedshiftDestinationUpdate& WithRetryOptions(const RedshiftRetryOptions& value) { SetRetryOptions(value); return *this;}
295 
296     /**
297      * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver
298      * documents to Amazon Redshift. Default value is 3600 (60 minutes).</p>
299      */
WithRetryOptions(RedshiftRetryOptions && value)300     inline RedshiftDestinationUpdate& WithRetryOptions(RedshiftRetryOptions&& value) { SetRetryOptions(std::move(value)); return *this;}
301 
302 
303     /**
304      * <p>The Amazon S3 destination.</p> <p>The compression formats <code>SNAPPY</code>
305      * or <code>ZIP</code> cannot be specified in
306      * <code>RedshiftDestinationUpdate.S3Update</code> because the Amazon Redshift
307      * <code>COPY</code> operation that reads from the S3 bucket doesn't support these
308      * compression formats.</p>
309      */
GetS3Update()310     inline const S3DestinationUpdate& GetS3Update() const{ return m_s3Update; }
311 
312     /**
313      * <p>The Amazon S3 destination.</p> <p>The compression formats <code>SNAPPY</code>
314      * or <code>ZIP</code> cannot be specified in
315      * <code>RedshiftDestinationUpdate.S3Update</code> because the Amazon Redshift
316      * <code>COPY</code> operation that reads from the S3 bucket doesn't support these
317      * compression formats.</p>
318      */
S3UpdateHasBeenSet()319     inline bool S3UpdateHasBeenSet() const { return m_s3UpdateHasBeenSet; }
320 
321     /**
322      * <p>The Amazon S3 destination.</p> <p>The compression formats <code>SNAPPY</code>
323      * or <code>ZIP</code> cannot be specified in
324      * <code>RedshiftDestinationUpdate.S3Update</code> because the Amazon Redshift
325      * <code>COPY</code> operation that reads from the S3 bucket doesn't support these
326      * compression formats.</p>
327      */
SetS3Update(const S3DestinationUpdate & value)328     inline void SetS3Update(const S3DestinationUpdate& value) { m_s3UpdateHasBeenSet = true; m_s3Update = value; }
329 
330     /**
331      * <p>The Amazon S3 destination.</p> <p>The compression formats <code>SNAPPY</code>
332      * or <code>ZIP</code> cannot be specified in
333      * <code>RedshiftDestinationUpdate.S3Update</code> because the Amazon Redshift
334      * <code>COPY</code> operation that reads from the S3 bucket doesn't support these
335      * compression formats.</p>
336      */
SetS3Update(S3DestinationUpdate && value)337     inline void SetS3Update(S3DestinationUpdate&& value) { m_s3UpdateHasBeenSet = true; m_s3Update = std::move(value); }
338 
339     /**
340      * <p>The Amazon S3 destination.</p> <p>The compression formats <code>SNAPPY</code>
341      * or <code>ZIP</code> cannot be specified in
342      * <code>RedshiftDestinationUpdate.S3Update</code> because the Amazon Redshift
343      * <code>COPY</code> operation that reads from the S3 bucket doesn't support these
344      * compression formats.</p>
345      */
WithS3Update(const S3DestinationUpdate & value)346     inline RedshiftDestinationUpdate& WithS3Update(const S3DestinationUpdate& value) { SetS3Update(value); return *this;}
347 
348     /**
349      * <p>The Amazon S3 destination.</p> <p>The compression formats <code>SNAPPY</code>
350      * or <code>ZIP</code> cannot be specified in
351      * <code>RedshiftDestinationUpdate.S3Update</code> because the Amazon Redshift
352      * <code>COPY</code> operation that reads from the S3 bucket doesn't support these
353      * compression formats.</p>
354      */
WithS3Update(S3DestinationUpdate && value)355     inline RedshiftDestinationUpdate& WithS3Update(S3DestinationUpdate&& value) { SetS3Update(std::move(value)); return *this;}
356 
357 
358     /**
359      * <p>The data processing configuration.</p>
360      */
GetProcessingConfiguration()361     inline const ProcessingConfiguration& GetProcessingConfiguration() const{ return m_processingConfiguration; }
362 
363     /**
364      * <p>The data processing configuration.</p>
365      */
ProcessingConfigurationHasBeenSet()366     inline bool ProcessingConfigurationHasBeenSet() const { return m_processingConfigurationHasBeenSet; }
367 
368     /**
369      * <p>The data processing configuration.</p>
370      */
SetProcessingConfiguration(const ProcessingConfiguration & value)371     inline void SetProcessingConfiguration(const ProcessingConfiguration& value) { m_processingConfigurationHasBeenSet = true; m_processingConfiguration = value; }
372 
373     /**
374      * <p>The data processing configuration.</p>
375      */
SetProcessingConfiguration(ProcessingConfiguration && value)376     inline void SetProcessingConfiguration(ProcessingConfiguration&& value) { m_processingConfigurationHasBeenSet = true; m_processingConfiguration = std::move(value); }
377 
378     /**
379      * <p>The data processing configuration.</p>
380      */
WithProcessingConfiguration(const ProcessingConfiguration & value)381     inline RedshiftDestinationUpdate& WithProcessingConfiguration(const ProcessingConfiguration& value) { SetProcessingConfiguration(value); return *this;}
382 
383     /**
384      * <p>The data processing configuration.</p>
385      */
WithProcessingConfiguration(ProcessingConfiguration && value)386     inline RedshiftDestinationUpdate& WithProcessingConfiguration(ProcessingConfiguration&& value) { SetProcessingConfiguration(std::move(value)); return *this;}
387 
388 
389     /**
390      * <p>You can update a delivery stream to enable Amazon S3 backup if it is
391      * disabled. If backup is enabled, you can't update the delivery stream to disable
392      * it. </p>
393      */
GetS3BackupMode()394     inline const RedshiftS3BackupMode& GetS3BackupMode() const{ return m_s3BackupMode; }
395 
396     /**
397      * <p>You can update a delivery stream to enable Amazon S3 backup if it is
398      * disabled. If backup is enabled, you can't update the delivery stream to disable
399      * it. </p>
400      */
S3BackupModeHasBeenSet()401     inline bool S3BackupModeHasBeenSet() const { return m_s3BackupModeHasBeenSet; }
402 
403     /**
404      * <p>You can update a delivery stream to enable Amazon S3 backup if it is
405      * disabled. If backup is enabled, you can't update the delivery stream to disable
406      * it. </p>
407      */
SetS3BackupMode(const RedshiftS3BackupMode & value)408     inline void SetS3BackupMode(const RedshiftS3BackupMode& value) { m_s3BackupModeHasBeenSet = true; m_s3BackupMode = value; }
409 
410     /**
411      * <p>You can update a delivery stream to enable Amazon S3 backup if it is
412      * disabled. If backup is enabled, you can't update the delivery stream to disable
413      * it. </p>
414      */
SetS3BackupMode(RedshiftS3BackupMode && value)415     inline void SetS3BackupMode(RedshiftS3BackupMode&& value) { m_s3BackupModeHasBeenSet = true; m_s3BackupMode = std::move(value); }
416 
417     /**
418      * <p>You can update a delivery stream to enable Amazon S3 backup if it is
419      * disabled. If backup is enabled, you can't update the delivery stream to disable
420      * it. </p>
421      */
WithS3BackupMode(const RedshiftS3BackupMode & value)422     inline RedshiftDestinationUpdate& WithS3BackupMode(const RedshiftS3BackupMode& value) { SetS3BackupMode(value); return *this;}
423 
424     /**
425      * <p>You can update a delivery stream to enable Amazon S3 backup if it is
426      * disabled. If backup is enabled, you can't update the delivery stream to disable
427      * it. </p>
428      */
WithS3BackupMode(RedshiftS3BackupMode && value)429     inline RedshiftDestinationUpdate& WithS3BackupMode(RedshiftS3BackupMode&& value) { SetS3BackupMode(std::move(value)); return *this;}
430 
431 
432     /**
433      * <p>The Amazon S3 destination for backup.</p>
434      */
GetS3BackupUpdate()435     inline const S3DestinationUpdate& GetS3BackupUpdate() const{ return m_s3BackupUpdate; }
436 
437     /**
438      * <p>The Amazon S3 destination for backup.</p>
439      */
S3BackupUpdateHasBeenSet()440     inline bool S3BackupUpdateHasBeenSet() const { return m_s3BackupUpdateHasBeenSet; }
441 
442     /**
443      * <p>The Amazon S3 destination for backup.</p>
444      */
SetS3BackupUpdate(const S3DestinationUpdate & value)445     inline void SetS3BackupUpdate(const S3DestinationUpdate& value) { m_s3BackupUpdateHasBeenSet = true; m_s3BackupUpdate = value; }
446 
447     /**
448      * <p>The Amazon S3 destination for backup.</p>
449      */
SetS3BackupUpdate(S3DestinationUpdate && value)450     inline void SetS3BackupUpdate(S3DestinationUpdate&& value) { m_s3BackupUpdateHasBeenSet = true; m_s3BackupUpdate = std::move(value); }
451 
452     /**
453      * <p>The Amazon S3 destination for backup.</p>
454      */
WithS3BackupUpdate(const S3DestinationUpdate & value)455     inline RedshiftDestinationUpdate& WithS3BackupUpdate(const S3DestinationUpdate& value) { SetS3BackupUpdate(value); return *this;}
456 
457     /**
458      * <p>The Amazon S3 destination for backup.</p>
459      */
WithS3BackupUpdate(S3DestinationUpdate && value)460     inline RedshiftDestinationUpdate& WithS3BackupUpdate(S3DestinationUpdate&& value) { SetS3BackupUpdate(std::move(value)); return *this;}
461 
462 
463     /**
464      * <p>The Amazon CloudWatch logging options for your delivery stream.</p>
465      */
GetCloudWatchLoggingOptions()466     inline const CloudWatchLoggingOptions& GetCloudWatchLoggingOptions() const{ return m_cloudWatchLoggingOptions; }
467 
468     /**
469      * <p>The Amazon CloudWatch logging options for your delivery stream.</p>
470      */
CloudWatchLoggingOptionsHasBeenSet()471     inline bool CloudWatchLoggingOptionsHasBeenSet() const { return m_cloudWatchLoggingOptionsHasBeenSet; }
472 
473     /**
474      * <p>The Amazon CloudWatch logging options for your delivery stream.</p>
475      */
SetCloudWatchLoggingOptions(const CloudWatchLoggingOptions & value)476     inline void SetCloudWatchLoggingOptions(const CloudWatchLoggingOptions& value) { m_cloudWatchLoggingOptionsHasBeenSet = true; m_cloudWatchLoggingOptions = value; }
477 
478     /**
479      * <p>The Amazon CloudWatch logging options for your delivery stream.</p>
480      */
SetCloudWatchLoggingOptions(CloudWatchLoggingOptions && value)481     inline void SetCloudWatchLoggingOptions(CloudWatchLoggingOptions&& value) { m_cloudWatchLoggingOptionsHasBeenSet = true; m_cloudWatchLoggingOptions = std::move(value); }
482 
483     /**
484      * <p>The Amazon CloudWatch logging options for your delivery stream.</p>
485      */
WithCloudWatchLoggingOptions(const CloudWatchLoggingOptions & value)486     inline RedshiftDestinationUpdate& WithCloudWatchLoggingOptions(const CloudWatchLoggingOptions& value) { SetCloudWatchLoggingOptions(value); return *this;}
487 
488     /**
489      * <p>The Amazon CloudWatch logging options for your delivery stream.</p>
490      */
WithCloudWatchLoggingOptions(CloudWatchLoggingOptions && value)491     inline RedshiftDestinationUpdate& WithCloudWatchLoggingOptions(CloudWatchLoggingOptions&& value) { SetCloudWatchLoggingOptions(std::move(value)); return *this;}
492 
493   private:
494 
495     Aws::String m_roleARN;
496     bool m_roleARNHasBeenSet;
497 
498     Aws::String m_clusterJDBCURL;
499     bool m_clusterJDBCURLHasBeenSet;
500 
501     CopyCommand m_copyCommand;
502     bool m_copyCommandHasBeenSet;
503 
504     Aws::String m_username;
505     bool m_usernameHasBeenSet;
506 
507     Aws::String m_password;
508     bool m_passwordHasBeenSet;
509 
510     RedshiftRetryOptions m_retryOptions;
511     bool m_retryOptionsHasBeenSet;
512 
513     S3DestinationUpdate m_s3Update;
514     bool m_s3UpdateHasBeenSet;
515 
516     ProcessingConfiguration m_processingConfiguration;
517     bool m_processingConfigurationHasBeenSet;
518 
519     RedshiftS3BackupMode m_s3BackupMode;
520     bool m_s3BackupModeHasBeenSet;
521 
522     S3DestinationUpdate m_s3BackupUpdate;
523     bool m_s3BackupUpdateHasBeenSet;
524 
525     CloudWatchLoggingOptions m_cloudWatchLoggingOptions;
526     bool m_cloudWatchLoggingOptionsHasBeenSet;
527   };
528 
529 } // namespace Model
530 } // namespace Firehose
531 } // namespace Aws
532