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/AmazonopensearchserviceIndexRotationPeriod.h>
10 #include <aws/firehose/model/AmazonopensearchserviceBufferingHints.h>
11 #include <aws/firehose/model/AmazonopensearchserviceRetryOptions.h>
12 #include <aws/firehose/model/AmazonopensearchserviceS3BackupMode.h>
13 #include <aws/firehose/model/S3DestinationConfiguration.h>
14 #include <aws/firehose/model/ProcessingConfiguration.h>
15 #include <aws/firehose/model/CloudWatchLoggingOptions.h>
16 #include <aws/firehose/model/VpcConfiguration.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   class AWS_FIREHOSE_API AmazonopensearchserviceDestinationConfiguration
35   {
36   public:
37     AmazonopensearchserviceDestinationConfiguration();
38     AmazonopensearchserviceDestinationConfiguration(Aws::Utils::Json::JsonView jsonValue);
39     AmazonopensearchserviceDestinationConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43 
GetRoleARN()44     inline const Aws::String& GetRoleARN() const{ return m_roleARN; }
45 
46 
RoleARNHasBeenSet()47     inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; }
48 
49 
SetRoleARN(const Aws::String & value)50     inline void SetRoleARN(const Aws::String& value) { m_roleARNHasBeenSet = true; m_roleARN = value; }
51 
52 
SetRoleARN(Aws::String && value)53     inline void SetRoleARN(Aws::String&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::move(value); }
54 
55 
SetRoleARN(const char * value)56     inline void SetRoleARN(const char* value) { m_roleARNHasBeenSet = true; m_roleARN.assign(value); }
57 
58 
WithRoleARN(const Aws::String & value)59     inline AmazonopensearchserviceDestinationConfiguration& WithRoleARN(const Aws::String& value) { SetRoleARN(value); return *this;}
60 
61 
WithRoleARN(Aws::String && value)62     inline AmazonopensearchserviceDestinationConfiguration& WithRoleARN(Aws::String&& value) { SetRoleARN(std::move(value)); return *this;}
63 
64 
WithRoleARN(const char * value)65     inline AmazonopensearchserviceDestinationConfiguration& WithRoleARN(const char* value) { SetRoleARN(value); return *this;}
66 
67 
68 
GetDomainARN()69     inline const Aws::String& GetDomainARN() const{ return m_domainARN; }
70 
71 
DomainARNHasBeenSet()72     inline bool DomainARNHasBeenSet() const { return m_domainARNHasBeenSet; }
73 
74 
SetDomainARN(const Aws::String & value)75     inline void SetDomainARN(const Aws::String& value) { m_domainARNHasBeenSet = true; m_domainARN = value; }
76 
77 
SetDomainARN(Aws::String && value)78     inline void SetDomainARN(Aws::String&& value) { m_domainARNHasBeenSet = true; m_domainARN = std::move(value); }
79 
80 
SetDomainARN(const char * value)81     inline void SetDomainARN(const char* value) { m_domainARNHasBeenSet = true; m_domainARN.assign(value); }
82 
83 
WithDomainARN(const Aws::String & value)84     inline AmazonopensearchserviceDestinationConfiguration& WithDomainARN(const Aws::String& value) { SetDomainARN(value); return *this;}
85 
86 
WithDomainARN(Aws::String && value)87     inline AmazonopensearchserviceDestinationConfiguration& WithDomainARN(Aws::String&& value) { SetDomainARN(std::move(value)); return *this;}
88 
89 
WithDomainARN(const char * value)90     inline AmazonopensearchserviceDestinationConfiguration& WithDomainARN(const char* value) { SetDomainARN(value); return *this;}
91 
92 
93 
GetClusterEndpoint()94     inline const Aws::String& GetClusterEndpoint() const{ return m_clusterEndpoint; }
95 
96 
ClusterEndpointHasBeenSet()97     inline bool ClusterEndpointHasBeenSet() const { return m_clusterEndpointHasBeenSet; }
98 
99 
SetClusterEndpoint(const Aws::String & value)100     inline void SetClusterEndpoint(const Aws::String& value) { m_clusterEndpointHasBeenSet = true; m_clusterEndpoint = value; }
101 
102 
SetClusterEndpoint(Aws::String && value)103     inline void SetClusterEndpoint(Aws::String&& value) { m_clusterEndpointHasBeenSet = true; m_clusterEndpoint = std::move(value); }
104 
105 
SetClusterEndpoint(const char * value)106     inline void SetClusterEndpoint(const char* value) { m_clusterEndpointHasBeenSet = true; m_clusterEndpoint.assign(value); }
107 
108 
WithClusterEndpoint(const Aws::String & value)109     inline AmazonopensearchserviceDestinationConfiguration& WithClusterEndpoint(const Aws::String& value) { SetClusterEndpoint(value); return *this;}
110 
111 
WithClusterEndpoint(Aws::String && value)112     inline AmazonopensearchserviceDestinationConfiguration& WithClusterEndpoint(Aws::String&& value) { SetClusterEndpoint(std::move(value)); return *this;}
113 
114 
WithClusterEndpoint(const char * value)115     inline AmazonopensearchserviceDestinationConfiguration& WithClusterEndpoint(const char* value) { SetClusterEndpoint(value); return *this;}
116 
117 
118 
GetIndexName()119     inline const Aws::String& GetIndexName() const{ return m_indexName; }
120 
121 
IndexNameHasBeenSet()122     inline bool IndexNameHasBeenSet() const { return m_indexNameHasBeenSet; }
123 
124 
SetIndexName(const Aws::String & value)125     inline void SetIndexName(const Aws::String& value) { m_indexNameHasBeenSet = true; m_indexName = value; }
126 
127 
SetIndexName(Aws::String && value)128     inline void SetIndexName(Aws::String&& value) { m_indexNameHasBeenSet = true; m_indexName = std::move(value); }
129 
130 
SetIndexName(const char * value)131     inline void SetIndexName(const char* value) { m_indexNameHasBeenSet = true; m_indexName.assign(value); }
132 
133 
WithIndexName(const Aws::String & value)134     inline AmazonopensearchserviceDestinationConfiguration& WithIndexName(const Aws::String& value) { SetIndexName(value); return *this;}
135 
136 
WithIndexName(Aws::String && value)137     inline AmazonopensearchserviceDestinationConfiguration& WithIndexName(Aws::String&& value) { SetIndexName(std::move(value)); return *this;}
138 
139 
WithIndexName(const char * value)140     inline AmazonopensearchserviceDestinationConfiguration& WithIndexName(const char* value) { SetIndexName(value); return *this;}
141 
142 
143 
GetTypeName()144     inline const Aws::String& GetTypeName() const{ return m_typeName; }
145 
146 
TypeNameHasBeenSet()147     inline bool TypeNameHasBeenSet() const { return m_typeNameHasBeenSet; }
148 
149 
SetTypeName(const Aws::String & value)150     inline void SetTypeName(const Aws::String& value) { m_typeNameHasBeenSet = true; m_typeName = value; }
151 
152 
SetTypeName(Aws::String && value)153     inline void SetTypeName(Aws::String&& value) { m_typeNameHasBeenSet = true; m_typeName = std::move(value); }
154 
155 
SetTypeName(const char * value)156     inline void SetTypeName(const char* value) { m_typeNameHasBeenSet = true; m_typeName.assign(value); }
157 
158 
WithTypeName(const Aws::String & value)159     inline AmazonopensearchserviceDestinationConfiguration& WithTypeName(const Aws::String& value) { SetTypeName(value); return *this;}
160 
161 
WithTypeName(Aws::String && value)162     inline AmazonopensearchserviceDestinationConfiguration& WithTypeName(Aws::String&& value) { SetTypeName(std::move(value)); return *this;}
163 
164 
WithTypeName(const char * value)165     inline AmazonopensearchserviceDestinationConfiguration& WithTypeName(const char* value) { SetTypeName(value); return *this;}
166 
167 
168 
GetIndexRotationPeriod()169     inline const AmazonopensearchserviceIndexRotationPeriod& GetIndexRotationPeriod() const{ return m_indexRotationPeriod; }
170 
171 
IndexRotationPeriodHasBeenSet()172     inline bool IndexRotationPeriodHasBeenSet() const { return m_indexRotationPeriodHasBeenSet; }
173 
174 
SetIndexRotationPeriod(const AmazonopensearchserviceIndexRotationPeriod & value)175     inline void SetIndexRotationPeriod(const AmazonopensearchserviceIndexRotationPeriod& value) { m_indexRotationPeriodHasBeenSet = true; m_indexRotationPeriod = value; }
176 
177 
SetIndexRotationPeriod(AmazonopensearchserviceIndexRotationPeriod && value)178     inline void SetIndexRotationPeriod(AmazonopensearchserviceIndexRotationPeriod&& value) { m_indexRotationPeriodHasBeenSet = true; m_indexRotationPeriod = std::move(value); }
179 
180 
WithIndexRotationPeriod(const AmazonopensearchserviceIndexRotationPeriod & value)181     inline AmazonopensearchserviceDestinationConfiguration& WithIndexRotationPeriod(const AmazonopensearchserviceIndexRotationPeriod& value) { SetIndexRotationPeriod(value); return *this;}
182 
183 
WithIndexRotationPeriod(AmazonopensearchserviceIndexRotationPeriod && value)184     inline AmazonopensearchserviceDestinationConfiguration& WithIndexRotationPeriod(AmazonopensearchserviceIndexRotationPeriod&& value) { SetIndexRotationPeriod(std::move(value)); return *this;}
185 
186 
187 
GetBufferingHints()188     inline const AmazonopensearchserviceBufferingHints& GetBufferingHints() const{ return m_bufferingHints; }
189 
190 
BufferingHintsHasBeenSet()191     inline bool BufferingHintsHasBeenSet() const { return m_bufferingHintsHasBeenSet; }
192 
193 
SetBufferingHints(const AmazonopensearchserviceBufferingHints & value)194     inline void SetBufferingHints(const AmazonopensearchserviceBufferingHints& value) { m_bufferingHintsHasBeenSet = true; m_bufferingHints = value; }
195 
196 
SetBufferingHints(AmazonopensearchserviceBufferingHints && value)197     inline void SetBufferingHints(AmazonopensearchserviceBufferingHints&& value) { m_bufferingHintsHasBeenSet = true; m_bufferingHints = std::move(value); }
198 
199 
WithBufferingHints(const AmazonopensearchserviceBufferingHints & value)200     inline AmazonopensearchserviceDestinationConfiguration& WithBufferingHints(const AmazonopensearchserviceBufferingHints& value) { SetBufferingHints(value); return *this;}
201 
202 
WithBufferingHints(AmazonopensearchserviceBufferingHints && value)203     inline AmazonopensearchserviceDestinationConfiguration& WithBufferingHints(AmazonopensearchserviceBufferingHints&& value) { SetBufferingHints(std::move(value)); return *this;}
204 
205 
206 
GetRetryOptions()207     inline const AmazonopensearchserviceRetryOptions& GetRetryOptions() const{ return m_retryOptions; }
208 
209 
RetryOptionsHasBeenSet()210     inline bool RetryOptionsHasBeenSet() const { return m_retryOptionsHasBeenSet; }
211 
212 
SetRetryOptions(const AmazonopensearchserviceRetryOptions & value)213     inline void SetRetryOptions(const AmazonopensearchserviceRetryOptions& value) { m_retryOptionsHasBeenSet = true; m_retryOptions = value; }
214 
215 
SetRetryOptions(AmazonopensearchserviceRetryOptions && value)216     inline void SetRetryOptions(AmazonopensearchserviceRetryOptions&& value) { m_retryOptionsHasBeenSet = true; m_retryOptions = std::move(value); }
217 
218 
WithRetryOptions(const AmazonopensearchserviceRetryOptions & value)219     inline AmazonopensearchserviceDestinationConfiguration& WithRetryOptions(const AmazonopensearchserviceRetryOptions& value) { SetRetryOptions(value); return *this;}
220 
221 
WithRetryOptions(AmazonopensearchserviceRetryOptions && value)222     inline AmazonopensearchserviceDestinationConfiguration& WithRetryOptions(AmazonopensearchserviceRetryOptions&& value) { SetRetryOptions(std::move(value)); return *this;}
223 
224 
225 
GetS3BackupMode()226     inline const AmazonopensearchserviceS3BackupMode& GetS3BackupMode() const{ return m_s3BackupMode; }
227 
228 
S3BackupModeHasBeenSet()229     inline bool S3BackupModeHasBeenSet() const { return m_s3BackupModeHasBeenSet; }
230 
231 
SetS3BackupMode(const AmazonopensearchserviceS3BackupMode & value)232     inline void SetS3BackupMode(const AmazonopensearchserviceS3BackupMode& value) { m_s3BackupModeHasBeenSet = true; m_s3BackupMode = value; }
233 
234 
SetS3BackupMode(AmazonopensearchserviceS3BackupMode && value)235     inline void SetS3BackupMode(AmazonopensearchserviceS3BackupMode&& value) { m_s3BackupModeHasBeenSet = true; m_s3BackupMode = std::move(value); }
236 
237 
WithS3BackupMode(const AmazonopensearchserviceS3BackupMode & value)238     inline AmazonopensearchserviceDestinationConfiguration& WithS3BackupMode(const AmazonopensearchserviceS3BackupMode& value) { SetS3BackupMode(value); return *this;}
239 
240 
WithS3BackupMode(AmazonopensearchserviceS3BackupMode && value)241     inline AmazonopensearchserviceDestinationConfiguration& WithS3BackupMode(AmazonopensearchserviceS3BackupMode&& value) { SetS3BackupMode(std::move(value)); return *this;}
242 
243 
244 
GetS3Configuration()245     inline const S3DestinationConfiguration& GetS3Configuration() const{ return m_s3Configuration; }
246 
247 
S3ConfigurationHasBeenSet()248     inline bool S3ConfigurationHasBeenSet() const { return m_s3ConfigurationHasBeenSet; }
249 
250 
SetS3Configuration(const S3DestinationConfiguration & value)251     inline void SetS3Configuration(const S3DestinationConfiguration& value) { m_s3ConfigurationHasBeenSet = true; m_s3Configuration = value; }
252 
253 
SetS3Configuration(S3DestinationConfiguration && value)254     inline void SetS3Configuration(S3DestinationConfiguration&& value) { m_s3ConfigurationHasBeenSet = true; m_s3Configuration = std::move(value); }
255 
256 
WithS3Configuration(const S3DestinationConfiguration & value)257     inline AmazonopensearchserviceDestinationConfiguration& WithS3Configuration(const S3DestinationConfiguration& value) { SetS3Configuration(value); return *this;}
258 
259 
WithS3Configuration(S3DestinationConfiguration && value)260     inline AmazonopensearchserviceDestinationConfiguration& WithS3Configuration(S3DestinationConfiguration&& value) { SetS3Configuration(std::move(value)); return *this;}
261 
262 
263 
GetProcessingConfiguration()264     inline const ProcessingConfiguration& GetProcessingConfiguration() const{ return m_processingConfiguration; }
265 
266 
ProcessingConfigurationHasBeenSet()267     inline bool ProcessingConfigurationHasBeenSet() const { return m_processingConfigurationHasBeenSet; }
268 
269 
SetProcessingConfiguration(const ProcessingConfiguration & value)270     inline void SetProcessingConfiguration(const ProcessingConfiguration& value) { m_processingConfigurationHasBeenSet = true; m_processingConfiguration = value; }
271 
272 
SetProcessingConfiguration(ProcessingConfiguration && value)273     inline void SetProcessingConfiguration(ProcessingConfiguration&& value) { m_processingConfigurationHasBeenSet = true; m_processingConfiguration = std::move(value); }
274 
275 
WithProcessingConfiguration(const ProcessingConfiguration & value)276     inline AmazonopensearchserviceDestinationConfiguration& WithProcessingConfiguration(const ProcessingConfiguration& value) { SetProcessingConfiguration(value); return *this;}
277 
278 
WithProcessingConfiguration(ProcessingConfiguration && value)279     inline AmazonopensearchserviceDestinationConfiguration& WithProcessingConfiguration(ProcessingConfiguration&& value) { SetProcessingConfiguration(std::move(value)); return *this;}
280 
281 
282 
GetCloudWatchLoggingOptions()283     inline const CloudWatchLoggingOptions& GetCloudWatchLoggingOptions() const{ return m_cloudWatchLoggingOptions; }
284 
285 
CloudWatchLoggingOptionsHasBeenSet()286     inline bool CloudWatchLoggingOptionsHasBeenSet() const { return m_cloudWatchLoggingOptionsHasBeenSet; }
287 
288 
SetCloudWatchLoggingOptions(const CloudWatchLoggingOptions & value)289     inline void SetCloudWatchLoggingOptions(const CloudWatchLoggingOptions& value) { m_cloudWatchLoggingOptionsHasBeenSet = true; m_cloudWatchLoggingOptions = value; }
290 
291 
SetCloudWatchLoggingOptions(CloudWatchLoggingOptions && value)292     inline void SetCloudWatchLoggingOptions(CloudWatchLoggingOptions&& value) { m_cloudWatchLoggingOptionsHasBeenSet = true; m_cloudWatchLoggingOptions = std::move(value); }
293 
294 
WithCloudWatchLoggingOptions(const CloudWatchLoggingOptions & value)295     inline AmazonopensearchserviceDestinationConfiguration& WithCloudWatchLoggingOptions(const CloudWatchLoggingOptions& value) { SetCloudWatchLoggingOptions(value); return *this;}
296 
297 
WithCloudWatchLoggingOptions(CloudWatchLoggingOptions && value)298     inline AmazonopensearchserviceDestinationConfiguration& WithCloudWatchLoggingOptions(CloudWatchLoggingOptions&& value) { SetCloudWatchLoggingOptions(std::move(value)); return *this;}
299 
300 
301 
GetVpcConfiguration()302     inline const VpcConfiguration& GetVpcConfiguration() const{ return m_vpcConfiguration; }
303 
304 
VpcConfigurationHasBeenSet()305     inline bool VpcConfigurationHasBeenSet() const { return m_vpcConfigurationHasBeenSet; }
306 
307 
SetVpcConfiguration(const VpcConfiguration & value)308     inline void SetVpcConfiguration(const VpcConfiguration& value) { m_vpcConfigurationHasBeenSet = true; m_vpcConfiguration = value; }
309 
310 
SetVpcConfiguration(VpcConfiguration && value)311     inline void SetVpcConfiguration(VpcConfiguration&& value) { m_vpcConfigurationHasBeenSet = true; m_vpcConfiguration = std::move(value); }
312 
313 
WithVpcConfiguration(const VpcConfiguration & value)314     inline AmazonopensearchserviceDestinationConfiguration& WithVpcConfiguration(const VpcConfiguration& value) { SetVpcConfiguration(value); return *this;}
315 
316 
WithVpcConfiguration(VpcConfiguration && value)317     inline AmazonopensearchserviceDestinationConfiguration& WithVpcConfiguration(VpcConfiguration&& value) { SetVpcConfiguration(std::move(value)); return *this;}
318 
319   private:
320 
321     Aws::String m_roleARN;
322     bool m_roleARNHasBeenSet;
323 
324     Aws::String m_domainARN;
325     bool m_domainARNHasBeenSet;
326 
327     Aws::String m_clusterEndpoint;
328     bool m_clusterEndpointHasBeenSet;
329 
330     Aws::String m_indexName;
331     bool m_indexNameHasBeenSet;
332 
333     Aws::String m_typeName;
334     bool m_typeNameHasBeenSet;
335 
336     AmazonopensearchserviceIndexRotationPeriod m_indexRotationPeriod;
337     bool m_indexRotationPeriodHasBeenSet;
338 
339     AmazonopensearchserviceBufferingHints m_bufferingHints;
340     bool m_bufferingHintsHasBeenSet;
341 
342     AmazonopensearchserviceRetryOptions m_retryOptions;
343     bool m_retryOptionsHasBeenSet;
344 
345     AmazonopensearchserviceS3BackupMode m_s3BackupMode;
346     bool m_s3BackupModeHasBeenSet;
347 
348     S3DestinationConfiguration m_s3Configuration;
349     bool m_s3ConfigurationHasBeenSet;
350 
351     ProcessingConfiguration m_processingConfiguration;
352     bool m_processingConfigurationHasBeenSet;
353 
354     CloudWatchLoggingOptions m_cloudWatchLoggingOptions;
355     bool m_cloudWatchLoggingOptionsHasBeenSet;
356 
357     VpcConfiguration m_vpcConfiguration;
358     bool m_vpcConfigurationHasBeenSet;
359   };
360 
361 } // namespace Model
362 } // namespace Firehose
363 } // namespace Aws
364