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/ElasticsearchIndexRotationPeriod.h> 10 #include <aws/firehose/model/ElasticsearchBufferingHints.h> 11 #include <aws/firehose/model/ElasticsearchRetryOptions.h> 12 #include <aws/firehose/model/ElasticsearchS3BackupMode.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 /** 35 * <p>Describes the configuration of a destination in Amazon ES.</p><p><h3>See 36 * Also:</h3> <a 37 * href="http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/ElasticsearchDestinationConfiguration">AWS 38 * API Reference</a></p> 39 */ 40 class AWS_FIREHOSE_API ElasticsearchDestinationConfiguration 41 { 42 public: 43 ElasticsearchDestinationConfiguration(); 44 ElasticsearchDestinationConfiguration(Aws::Utils::Json::JsonView jsonValue); 45 ElasticsearchDestinationConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); 46 Aws::Utils::Json::JsonValue Jsonize() const; 47 48 49 /** 50 * <p>The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data 51 * Firehose for calling the Amazon ES Configuration API and for indexing documents. 52 * For more information, see <a 53 * href="https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3">Grant 54 * Kinesis Data Firehose Access to an Amazon S3 Destination</a> and <a 55 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 56 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 57 */ GetRoleARN()58 inline const Aws::String& GetRoleARN() const{ return m_roleARN; } 59 60 /** 61 * <p>The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data 62 * Firehose for calling the Amazon ES Configuration API and for indexing documents. 63 * For more information, see <a 64 * href="https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3">Grant 65 * Kinesis Data Firehose Access to an Amazon S3 Destination</a> and <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 */ RoleARNHasBeenSet()69 inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; } 70 71 /** 72 * <p>The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data 73 * Firehose for calling the Amazon ES Configuration API and for indexing documents. 74 * For more information, see <a 75 * href="https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3">Grant 76 * Kinesis Data Firehose Access to an Amazon S3 Destination</a> and <a 77 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 78 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 79 */ SetRoleARN(const Aws::String & value)80 inline void SetRoleARN(const Aws::String& value) { m_roleARNHasBeenSet = true; m_roleARN = value; } 81 82 /** 83 * <p>The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data 84 * Firehose for calling the Amazon ES Configuration API and for indexing documents. 85 * For more information, see <a 86 * href="https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3">Grant 87 * Kinesis Data Firehose Access to an Amazon S3 Destination</a> and <a 88 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 89 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 90 */ SetRoleARN(Aws::String && value)91 inline void SetRoleARN(Aws::String&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::move(value); } 92 93 /** 94 * <p>The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data 95 * Firehose for calling the Amazon ES Configuration API and for indexing documents. 96 * For more information, see <a 97 * href="https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3">Grant 98 * Kinesis Data Firehose Access to an Amazon S3 Destination</a> and <a 99 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 100 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 101 */ SetRoleARN(const char * value)102 inline void SetRoleARN(const char* value) { m_roleARNHasBeenSet = true; m_roleARN.assign(value); } 103 104 /** 105 * <p>The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data 106 * Firehose for calling the Amazon ES Configuration API and for indexing documents. 107 * For more information, see <a 108 * href="https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3">Grant 109 * Kinesis Data Firehose Access to an Amazon S3 Destination</a> and <a 110 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 111 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 112 */ WithRoleARN(const Aws::String & value)113 inline ElasticsearchDestinationConfiguration& WithRoleARN(const Aws::String& value) { SetRoleARN(value); return *this;} 114 115 /** 116 * <p>The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data 117 * Firehose for calling the Amazon ES Configuration API and for indexing documents. 118 * For more information, see <a 119 * href="https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3">Grant 120 * Kinesis Data Firehose Access to an Amazon S3 Destination</a> and <a 121 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 122 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> 123 */ WithRoleARN(Aws::String && value)124 inline ElasticsearchDestinationConfiguration& WithRoleARN(Aws::String&& value) { SetRoleARN(std::move(value)); return *this;} 125 126 /** 127 * <p>The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data 128 * Firehose for calling the Amazon ES Configuration API and for indexing documents. 129 * For more information, see <a 130 * href="https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3">Grant 131 * Kinesis Data Firehose Access to an Amazon S3 Destination</a> and <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 */ WithRoleARN(const char * value)135 inline ElasticsearchDestinationConfiguration& WithRoleARN(const char* value) { SetRoleARN(value); return *this;} 136 137 138 /** 139 * <p>The ARN of the Amazon ES domain. The IAM role must have permissions 140 * for <code>DescribeElasticsearchDomain</code>, 141 * <code>DescribeElasticsearchDomains</code>, and 142 * <code>DescribeElasticsearchDomainConfig</code> after assuming the role specified 143 * in <b>RoleARN</b>. For more information, see <a 144 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 145 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> <p>Specify either 146 * <code>ClusterEndpoint</code> or <code>DomainARN</code>.</p> 147 */ GetDomainARN()148 inline const Aws::String& GetDomainARN() const{ return m_domainARN; } 149 150 /** 151 * <p>The ARN of the Amazon ES domain. The IAM role must have permissions 152 * for <code>DescribeElasticsearchDomain</code>, 153 * <code>DescribeElasticsearchDomains</code>, and 154 * <code>DescribeElasticsearchDomainConfig</code> after assuming the role specified 155 * in <b>RoleARN</b>. For more information, see <a 156 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 157 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> <p>Specify either 158 * <code>ClusterEndpoint</code> or <code>DomainARN</code>.</p> 159 */ DomainARNHasBeenSet()160 inline bool DomainARNHasBeenSet() const { return m_domainARNHasBeenSet; } 161 162 /** 163 * <p>The ARN of the Amazon ES domain. The IAM role must have permissions 164 * for <code>DescribeElasticsearchDomain</code>, 165 * <code>DescribeElasticsearchDomains</code>, and 166 * <code>DescribeElasticsearchDomainConfig</code> after assuming the role specified 167 * in <b>RoleARN</b>. For more information, see <a 168 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 169 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> <p>Specify either 170 * <code>ClusterEndpoint</code> or <code>DomainARN</code>.</p> 171 */ SetDomainARN(const Aws::String & value)172 inline void SetDomainARN(const Aws::String& value) { m_domainARNHasBeenSet = true; m_domainARN = value; } 173 174 /** 175 * <p>The ARN of the Amazon ES domain. The IAM role must have permissions 176 * for <code>DescribeElasticsearchDomain</code>, 177 * <code>DescribeElasticsearchDomains</code>, and 178 * <code>DescribeElasticsearchDomainConfig</code> after assuming the role specified 179 * in <b>RoleARN</b>. For more information, see <a 180 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 181 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> <p>Specify either 182 * <code>ClusterEndpoint</code> or <code>DomainARN</code>.</p> 183 */ SetDomainARN(Aws::String && value)184 inline void SetDomainARN(Aws::String&& value) { m_domainARNHasBeenSet = true; m_domainARN = std::move(value); } 185 186 /** 187 * <p>The ARN of the Amazon ES domain. The IAM role must have permissions 188 * for <code>DescribeElasticsearchDomain</code>, 189 * <code>DescribeElasticsearchDomains</code>, and 190 * <code>DescribeElasticsearchDomainConfig</code> after assuming the role specified 191 * in <b>RoleARN</b>. For more information, see <a 192 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 193 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> <p>Specify either 194 * <code>ClusterEndpoint</code> or <code>DomainARN</code>.</p> 195 */ SetDomainARN(const char * value)196 inline void SetDomainARN(const char* value) { m_domainARNHasBeenSet = true; m_domainARN.assign(value); } 197 198 /** 199 * <p>The ARN of the Amazon ES domain. The IAM role must have permissions 200 * for <code>DescribeElasticsearchDomain</code>, 201 * <code>DescribeElasticsearchDomains</code>, and 202 * <code>DescribeElasticsearchDomainConfig</code> after assuming the role specified 203 * in <b>RoleARN</b>. For more information, see <a 204 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 205 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> <p>Specify either 206 * <code>ClusterEndpoint</code> or <code>DomainARN</code>.</p> 207 */ WithDomainARN(const Aws::String & value)208 inline ElasticsearchDestinationConfiguration& WithDomainARN(const Aws::String& value) { SetDomainARN(value); return *this;} 209 210 /** 211 * <p>The ARN of the Amazon ES domain. The IAM role must have permissions 212 * for <code>DescribeElasticsearchDomain</code>, 213 * <code>DescribeElasticsearchDomains</code>, and 214 * <code>DescribeElasticsearchDomainConfig</code> after assuming the role specified 215 * in <b>RoleARN</b>. For more information, see <a 216 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 217 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> <p>Specify either 218 * <code>ClusterEndpoint</code> or <code>DomainARN</code>.</p> 219 */ WithDomainARN(Aws::String && value)220 inline ElasticsearchDestinationConfiguration& WithDomainARN(Aws::String&& value) { SetDomainARN(std::move(value)); return *this;} 221 222 /** 223 * <p>The ARN of the Amazon ES domain. The IAM role must have permissions 224 * for <code>DescribeElasticsearchDomain</code>, 225 * <code>DescribeElasticsearchDomains</code>, and 226 * <code>DescribeElasticsearchDomainConfig</code> after assuming the role specified 227 * in <b>RoleARN</b>. For more information, see <a 228 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon 229 * Resource Names (ARNs) and AWS Service Namespaces</a>.</p> <p>Specify either 230 * <code>ClusterEndpoint</code> or <code>DomainARN</code>.</p> 231 */ WithDomainARN(const char * value)232 inline ElasticsearchDestinationConfiguration& WithDomainARN(const char* value) { SetDomainARN(value); return *this;} 233 234 235 /** 236 * <p>The endpoint to use when communicating with the cluster. Specify either this 237 * <code>ClusterEndpoint</code> or the <code>DomainARN</code> field.</p> 238 */ GetClusterEndpoint()239 inline const Aws::String& GetClusterEndpoint() const{ return m_clusterEndpoint; } 240 241 /** 242 * <p>The endpoint to use when communicating with the cluster. Specify either this 243 * <code>ClusterEndpoint</code> or the <code>DomainARN</code> field.</p> 244 */ ClusterEndpointHasBeenSet()245 inline bool ClusterEndpointHasBeenSet() const { return m_clusterEndpointHasBeenSet; } 246 247 /** 248 * <p>The endpoint to use when communicating with the cluster. Specify either this 249 * <code>ClusterEndpoint</code> or the <code>DomainARN</code> field.</p> 250 */ SetClusterEndpoint(const Aws::String & value)251 inline void SetClusterEndpoint(const Aws::String& value) { m_clusterEndpointHasBeenSet = true; m_clusterEndpoint = value; } 252 253 /** 254 * <p>The endpoint to use when communicating with the cluster. Specify either this 255 * <code>ClusterEndpoint</code> or the <code>DomainARN</code> field.</p> 256 */ SetClusterEndpoint(Aws::String && value)257 inline void SetClusterEndpoint(Aws::String&& value) { m_clusterEndpointHasBeenSet = true; m_clusterEndpoint = std::move(value); } 258 259 /** 260 * <p>The endpoint to use when communicating with the cluster. Specify either this 261 * <code>ClusterEndpoint</code> or the <code>DomainARN</code> field.</p> 262 */ SetClusterEndpoint(const char * value)263 inline void SetClusterEndpoint(const char* value) { m_clusterEndpointHasBeenSet = true; m_clusterEndpoint.assign(value); } 264 265 /** 266 * <p>The endpoint to use when communicating with the cluster. Specify either this 267 * <code>ClusterEndpoint</code> or the <code>DomainARN</code> field.</p> 268 */ WithClusterEndpoint(const Aws::String & value)269 inline ElasticsearchDestinationConfiguration& WithClusterEndpoint(const Aws::String& value) { SetClusterEndpoint(value); return *this;} 270 271 /** 272 * <p>The endpoint to use when communicating with the cluster. Specify either this 273 * <code>ClusterEndpoint</code> or the <code>DomainARN</code> field.</p> 274 */ WithClusterEndpoint(Aws::String && value)275 inline ElasticsearchDestinationConfiguration& WithClusterEndpoint(Aws::String&& value) { SetClusterEndpoint(std::move(value)); return *this;} 276 277 /** 278 * <p>The endpoint to use when communicating with the cluster. Specify either this 279 * <code>ClusterEndpoint</code> or the <code>DomainARN</code> field.</p> 280 */ WithClusterEndpoint(const char * value)281 inline ElasticsearchDestinationConfiguration& WithClusterEndpoint(const char* value) { SetClusterEndpoint(value); return *this;} 282 283 284 /** 285 * <p>The Elasticsearch index name.</p> 286 */ GetIndexName()287 inline const Aws::String& GetIndexName() const{ return m_indexName; } 288 289 /** 290 * <p>The Elasticsearch index name.</p> 291 */ IndexNameHasBeenSet()292 inline bool IndexNameHasBeenSet() const { return m_indexNameHasBeenSet; } 293 294 /** 295 * <p>The Elasticsearch index name.</p> 296 */ SetIndexName(const Aws::String & value)297 inline void SetIndexName(const Aws::String& value) { m_indexNameHasBeenSet = true; m_indexName = value; } 298 299 /** 300 * <p>The Elasticsearch index name.</p> 301 */ SetIndexName(Aws::String && value)302 inline void SetIndexName(Aws::String&& value) { m_indexNameHasBeenSet = true; m_indexName = std::move(value); } 303 304 /** 305 * <p>The Elasticsearch index name.</p> 306 */ SetIndexName(const char * value)307 inline void SetIndexName(const char* value) { m_indexNameHasBeenSet = true; m_indexName.assign(value); } 308 309 /** 310 * <p>The Elasticsearch index name.</p> 311 */ WithIndexName(const Aws::String & value)312 inline ElasticsearchDestinationConfiguration& WithIndexName(const Aws::String& value) { SetIndexName(value); return *this;} 313 314 /** 315 * <p>The Elasticsearch index name.</p> 316 */ WithIndexName(Aws::String && value)317 inline ElasticsearchDestinationConfiguration& WithIndexName(Aws::String&& value) { SetIndexName(std::move(value)); return *this;} 318 319 /** 320 * <p>The Elasticsearch index name.</p> 321 */ WithIndexName(const char * value)322 inline ElasticsearchDestinationConfiguration& WithIndexName(const char* value) { SetIndexName(value); return *this;} 323 324 325 /** 326 * <p>The Elasticsearch type name. For Elasticsearch 6.x, there can be only one 327 * type per index. If you try to specify a new type for an existing index that 328 * already has another type, Kinesis Data Firehose returns an error during run 329 * time.</p> <p>For Elasticsearch 7.x, don't specify a <code>TypeName</code>.</p> 330 */ GetTypeName()331 inline const Aws::String& GetTypeName() const{ return m_typeName; } 332 333 /** 334 * <p>The Elasticsearch type name. For Elasticsearch 6.x, there can be only one 335 * type per index. If you try to specify a new type for an existing index that 336 * already has another type, Kinesis Data Firehose returns an error during run 337 * time.</p> <p>For Elasticsearch 7.x, don't specify a <code>TypeName</code>.</p> 338 */ TypeNameHasBeenSet()339 inline bool TypeNameHasBeenSet() const { return m_typeNameHasBeenSet; } 340 341 /** 342 * <p>The Elasticsearch type name. For Elasticsearch 6.x, there can be only one 343 * type per index. If you try to specify a new type for an existing index that 344 * already has another type, Kinesis Data Firehose returns an error during run 345 * time.</p> <p>For Elasticsearch 7.x, don't specify a <code>TypeName</code>.</p> 346 */ SetTypeName(const Aws::String & value)347 inline void SetTypeName(const Aws::String& value) { m_typeNameHasBeenSet = true; m_typeName = value; } 348 349 /** 350 * <p>The Elasticsearch type name. For Elasticsearch 6.x, there can be only one 351 * type per index. If you try to specify a new type for an existing index that 352 * already has another type, Kinesis Data Firehose returns an error during run 353 * time.</p> <p>For Elasticsearch 7.x, don't specify a <code>TypeName</code>.</p> 354 */ SetTypeName(Aws::String && value)355 inline void SetTypeName(Aws::String&& value) { m_typeNameHasBeenSet = true; m_typeName = std::move(value); } 356 357 /** 358 * <p>The Elasticsearch type name. For Elasticsearch 6.x, there can be only one 359 * type per index. If you try to specify a new type for an existing index that 360 * already has another type, Kinesis Data Firehose returns an error during run 361 * time.</p> <p>For Elasticsearch 7.x, don't specify a <code>TypeName</code>.</p> 362 */ SetTypeName(const char * value)363 inline void SetTypeName(const char* value) { m_typeNameHasBeenSet = true; m_typeName.assign(value); } 364 365 /** 366 * <p>The Elasticsearch type name. For Elasticsearch 6.x, there can be only one 367 * type per index. If you try to specify a new type for an existing index that 368 * already has another type, Kinesis Data Firehose returns an error during run 369 * time.</p> <p>For Elasticsearch 7.x, don't specify a <code>TypeName</code>.</p> 370 */ WithTypeName(const Aws::String & value)371 inline ElasticsearchDestinationConfiguration& WithTypeName(const Aws::String& value) { SetTypeName(value); return *this;} 372 373 /** 374 * <p>The Elasticsearch type name. For Elasticsearch 6.x, there can be only one 375 * type per index. If you try to specify a new type for an existing index that 376 * already has another type, Kinesis Data Firehose returns an error during run 377 * time.</p> <p>For Elasticsearch 7.x, don't specify a <code>TypeName</code>.</p> 378 */ WithTypeName(Aws::String && value)379 inline ElasticsearchDestinationConfiguration& WithTypeName(Aws::String&& value) { SetTypeName(std::move(value)); return *this;} 380 381 /** 382 * <p>The Elasticsearch type name. For Elasticsearch 6.x, there can be only one 383 * type per index. If you try to specify a new type for an existing index that 384 * already has another type, Kinesis Data Firehose returns an error during run 385 * time.</p> <p>For Elasticsearch 7.x, don't specify a <code>TypeName</code>.</p> 386 */ WithTypeName(const char * value)387 inline ElasticsearchDestinationConfiguration& WithTypeName(const char* value) { SetTypeName(value); return *this;} 388 389 390 /** 391 * <p>The Elasticsearch index rotation period. Index rotation appends a timestamp 392 * to the <code>IndexName</code> to facilitate the expiration of old data. For more 393 * information, see <a 394 * href="https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation">Index 395 * Rotation for the Amazon ES Destination</a>. The default value 396 * is <code>OneDay</code>.</p> 397 */ GetIndexRotationPeriod()398 inline const ElasticsearchIndexRotationPeriod& GetIndexRotationPeriod() const{ return m_indexRotationPeriod; } 399 400 /** 401 * <p>The Elasticsearch index rotation period. Index rotation appends a timestamp 402 * to the <code>IndexName</code> to facilitate the expiration of old data. For more 403 * information, see <a 404 * href="https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation">Index 405 * Rotation for the Amazon ES Destination</a>. The default value 406 * is <code>OneDay</code>.</p> 407 */ IndexRotationPeriodHasBeenSet()408 inline bool IndexRotationPeriodHasBeenSet() const { return m_indexRotationPeriodHasBeenSet; } 409 410 /** 411 * <p>The Elasticsearch index rotation period. Index rotation appends a timestamp 412 * to the <code>IndexName</code> to facilitate the expiration of old data. For more 413 * information, see <a 414 * href="https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation">Index 415 * Rotation for the Amazon ES Destination</a>. The default value 416 * is <code>OneDay</code>.</p> 417 */ SetIndexRotationPeriod(const ElasticsearchIndexRotationPeriod & value)418 inline void SetIndexRotationPeriod(const ElasticsearchIndexRotationPeriod& value) { m_indexRotationPeriodHasBeenSet = true; m_indexRotationPeriod = value; } 419 420 /** 421 * <p>The Elasticsearch index rotation period. Index rotation appends a timestamp 422 * to the <code>IndexName</code> to facilitate the expiration of old data. For more 423 * information, see <a 424 * href="https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation">Index 425 * Rotation for the Amazon ES Destination</a>. The default value 426 * is <code>OneDay</code>.</p> 427 */ SetIndexRotationPeriod(ElasticsearchIndexRotationPeriod && value)428 inline void SetIndexRotationPeriod(ElasticsearchIndexRotationPeriod&& value) { m_indexRotationPeriodHasBeenSet = true; m_indexRotationPeriod = std::move(value); } 429 430 /** 431 * <p>The Elasticsearch index rotation period. Index rotation appends a timestamp 432 * to the <code>IndexName</code> to facilitate the expiration of old data. For more 433 * information, see <a 434 * href="https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation">Index 435 * Rotation for the Amazon ES Destination</a>. The default value 436 * is <code>OneDay</code>.</p> 437 */ WithIndexRotationPeriod(const ElasticsearchIndexRotationPeriod & value)438 inline ElasticsearchDestinationConfiguration& WithIndexRotationPeriod(const ElasticsearchIndexRotationPeriod& value) { SetIndexRotationPeriod(value); return *this;} 439 440 /** 441 * <p>The Elasticsearch index rotation period. Index rotation appends a timestamp 442 * to the <code>IndexName</code> to facilitate the expiration of old data. For more 443 * information, see <a 444 * href="https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation">Index 445 * Rotation for the Amazon ES Destination</a>. The default value 446 * is <code>OneDay</code>.</p> 447 */ WithIndexRotationPeriod(ElasticsearchIndexRotationPeriod && value)448 inline ElasticsearchDestinationConfiguration& WithIndexRotationPeriod(ElasticsearchIndexRotationPeriod&& value) { SetIndexRotationPeriod(std::move(value)); return *this;} 449 450 451 /** 452 * <p>The buffering options. If no value is specified, the default values for 453 * <code>ElasticsearchBufferingHints</code> are used.</p> 454 */ GetBufferingHints()455 inline const ElasticsearchBufferingHints& GetBufferingHints() const{ return m_bufferingHints; } 456 457 /** 458 * <p>The buffering options. If no value is specified, the default values for 459 * <code>ElasticsearchBufferingHints</code> are used.</p> 460 */ BufferingHintsHasBeenSet()461 inline bool BufferingHintsHasBeenSet() const { return m_bufferingHintsHasBeenSet; } 462 463 /** 464 * <p>The buffering options. If no value is specified, the default values for 465 * <code>ElasticsearchBufferingHints</code> are used.</p> 466 */ SetBufferingHints(const ElasticsearchBufferingHints & value)467 inline void SetBufferingHints(const ElasticsearchBufferingHints& value) { m_bufferingHintsHasBeenSet = true; m_bufferingHints = value; } 468 469 /** 470 * <p>The buffering options. If no value is specified, the default values for 471 * <code>ElasticsearchBufferingHints</code> are used.</p> 472 */ SetBufferingHints(ElasticsearchBufferingHints && value)473 inline void SetBufferingHints(ElasticsearchBufferingHints&& value) { m_bufferingHintsHasBeenSet = true; m_bufferingHints = std::move(value); } 474 475 /** 476 * <p>The buffering options. If no value is specified, the default values for 477 * <code>ElasticsearchBufferingHints</code> are used.</p> 478 */ WithBufferingHints(const ElasticsearchBufferingHints & value)479 inline ElasticsearchDestinationConfiguration& WithBufferingHints(const ElasticsearchBufferingHints& value) { SetBufferingHints(value); return *this;} 480 481 /** 482 * <p>The buffering options. If no value is specified, the default values for 483 * <code>ElasticsearchBufferingHints</code> are used.</p> 484 */ WithBufferingHints(ElasticsearchBufferingHints && value)485 inline ElasticsearchDestinationConfiguration& WithBufferingHints(ElasticsearchBufferingHints&& value) { SetBufferingHints(std::move(value)); return *this;} 486 487 488 /** 489 * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver 490 * documents to Amazon ES. The default value is 300 (5 minutes).</p> 491 */ GetRetryOptions()492 inline const ElasticsearchRetryOptions& GetRetryOptions() const{ return m_retryOptions; } 493 494 /** 495 * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver 496 * documents to Amazon ES. The default value is 300 (5 minutes).</p> 497 */ RetryOptionsHasBeenSet()498 inline bool RetryOptionsHasBeenSet() const { return m_retryOptionsHasBeenSet; } 499 500 /** 501 * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver 502 * documents to Amazon ES. The default value is 300 (5 minutes).</p> 503 */ SetRetryOptions(const ElasticsearchRetryOptions & value)504 inline void SetRetryOptions(const ElasticsearchRetryOptions& value) { m_retryOptionsHasBeenSet = true; m_retryOptions = value; } 505 506 /** 507 * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver 508 * documents to Amazon ES. The default value is 300 (5 minutes).</p> 509 */ SetRetryOptions(ElasticsearchRetryOptions && value)510 inline void SetRetryOptions(ElasticsearchRetryOptions&& value) { m_retryOptionsHasBeenSet = true; m_retryOptions = std::move(value); } 511 512 /** 513 * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver 514 * documents to Amazon ES. The default value is 300 (5 minutes).</p> 515 */ WithRetryOptions(const ElasticsearchRetryOptions & value)516 inline ElasticsearchDestinationConfiguration& WithRetryOptions(const ElasticsearchRetryOptions& value) { SetRetryOptions(value); return *this;} 517 518 /** 519 * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver 520 * documents to Amazon ES. The default value is 300 (5 minutes).</p> 521 */ WithRetryOptions(ElasticsearchRetryOptions && value)522 inline ElasticsearchDestinationConfiguration& WithRetryOptions(ElasticsearchRetryOptions&& value) { SetRetryOptions(std::move(value)); return *this;} 523 524 525 /** 526 * <p>Defines how documents should be delivered to Amazon S3. When it is set to 527 * <code>FailedDocumentsOnly</code>, Kinesis Data Firehose writes any documents 528 * that could not be indexed to the configured Amazon S3 destination, with 529 * <code>elasticsearch-failed/</code> appended to the key prefix. When set to 530 * <code>AllDocuments</code>, Kinesis Data Firehose delivers all incoming records 531 * to Amazon S3, and also writes failed documents with 532 * <code>elasticsearch-failed/</code> appended to the prefix. For more information, 533 * see <a 534 * href="https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup">Amazon 535 * S3 Backup for the Amazon ES Destination</a>. Default value is 536 * <code>FailedDocumentsOnly</code>.</p> <p>You can't change this backup mode after 537 * you create the delivery stream. </p> 538 */ GetS3BackupMode()539 inline const ElasticsearchS3BackupMode& GetS3BackupMode() const{ return m_s3BackupMode; } 540 541 /** 542 * <p>Defines how documents should be delivered to Amazon S3. When it is set to 543 * <code>FailedDocumentsOnly</code>, Kinesis Data Firehose writes any documents 544 * that could not be indexed to the configured Amazon S3 destination, with 545 * <code>elasticsearch-failed/</code> appended to the key prefix. When set to 546 * <code>AllDocuments</code>, Kinesis Data Firehose delivers all incoming records 547 * to Amazon S3, and also writes failed documents with 548 * <code>elasticsearch-failed/</code> appended to the prefix. For more information, 549 * see <a 550 * href="https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup">Amazon 551 * S3 Backup for the Amazon ES Destination</a>. Default value is 552 * <code>FailedDocumentsOnly</code>.</p> <p>You can't change this backup mode after 553 * you create the delivery stream. </p> 554 */ S3BackupModeHasBeenSet()555 inline bool S3BackupModeHasBeenSet() const { return m_s3BackupModeHasBeenSet; } 556 557 /** 558 * <p>Defines how documents should be delivered to Amazon S3. When it is set to 559 * <code>FailedDocumentsOnly</code>, Kinesis Data Firehose writes any documents 560 * that could not be indexed to the configured Amazon S3 destination, with 561 * <code>elasticsearch-failed/</code> appended to the key prefix. When set to 562 * <code>AllDocuments</code>, Kinesis Data Firehose delivers all incoming records 563 * to Amazon S3, and also writes failed documents with 564 * <code>elasticsearch-failed/</code> appended to the prefix. For more information, 565 * see <a 566 * href="https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup">Amazon 567 * S3 Backup for the Amazon ES Destination</a>. Default value is 568 * <code>FailedDocumentsOnly</code>.</p> <p>You can't change this backup mode after 569 * you create the delivery stream. </p> 570 */ SetS3BackupMode(const ElasticsearchS3BackupMode & value)571 inline void SetS3BackupMode(const ElasticsearchS3BackupMode& value) { m_s3BackupModeHasBeenSet = true; m_s3BackupMode = value; } 572 573 /** 574 * <p>Defines how documents should be delivered to Amazon S3. When it is set to 575 * <code>FailedDocumentsOnly</code>, Kinesis Data Firehose writes any documents 576 * that could not be indexed to the configured Amazon S3 destination, with 577 * <code>elasticsearch-failed/</code> appended to the key prefix. When set to 578 * <code>AllDocuments</code>, Kinesis Data Firehose delivers all incoming records 579 * to Amazon S3, and also writes failed documents with 580 * <code>elasticsearch-failed/</code> appended to the prefix. For more information, 581 * see <a 582 * href="https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup">Amazon 583 * S3 Backup for the Amazon ES Destination</a>. Default value is 584 * <code>FailedDocumentsOnly</code>.</p> <p>You can't change this backup mode after 585 * you create the delivery stream. </p> 586 */ SetS3BackupMode(ElasticsearchS3BackupMode && value)587 inline void SetS3BackupMode(ElasticsearchS3BackupMode&& value) { m_s3BackupModeHasBeenSet = true; m_s3BackupMode = std::move(value); } 588 589 /** 590 * <p>Defines how documents should be delivered to Amazon S3. When it is set to 591 * <code>FailedDocumentsOnly</code>, Kinesis Data Firehose writes any documents 592 * that could not be indexed to the configured Amazon S3 destination, with 593 * <code>elasticsearch-failed/</code> appended to the key prefix. When set to 594 * <code>AllDocuments</code>, Kinesis Data Firehose delivers all incoming records 595 * to Amazon S3, and also writes failed documents with 596 * <code>elasticsearch-failed/</code> appended to the prefix. For more information, 597 * see <a 598 * href="https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup">Amazon 599 * S3 Backup for the Amazon ES Destination</a>. Default value is 600 * <code>FailedDocumentsOnly</code>.</p> <p>You can't change this backup mode after 601 * you create the delivery stream. </p> 602 */ WithS3BackupMode(const ElasticsearchS3BackupMode & value)603 inline ElasticsearchDestinationConfiguration& WithS3BackupMode(const ElasticsearchS3BackupMode& value) { SetS3BackupMode(value); return *this;} 604 605 /** 606 * <p>Defines how documents should be delivered to Amazon S3. When it is set to 607 * <code>FailedDocumentsOnly</code>, Kinesis Data Firehose writes any documents 608 * that could not be indexed to the configured Amazon S3 destination, with 609 * <code>elasticsearch-failed/</code> appended to the key prefix. When set to 610 * <code>AllDocuments</code>, Kinesis Data Firehose delivers all incoming records 611 * to Amazon S3, and also writes failed documents with 612 * <code>elasticsearch-failed/</code> appended to the prefix. For more information, 613 * see <a 614 * href="https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup">Amazon 615 * S3 Backup for the Amazon ES Destination</a>. Default value is 616 * <code>FailedDocumentsOnly</code>.</p> <p>You can't change this backup mode after 617 * you create the delivery stream. </p> 618 */ WithS3BackupMode(ElasticsearchS3BackupMode && value)619 inline ElasticsearchDestinationConfiguration& WithS3BackupMode(ElasticsearchS3BackupMode&& value) { SetS3BackupMode(std::move(value)); return *this;} 620 621 622 /** 623 * <p>The configuration for the backup Amazon S3 location.</p> 624 */ GetS3Configuration()625 inline const S3DestinationConfiguration& GetS3Configuration() const{ return m_s3Configuration; } 626 627 /** 628 * <p>The configuration for the backup Amazon S3 location.</p> 629 */ S3ConfigurationHasBeenSet()630 inline bool S3ConfigurationHasBeenSet() const { return m_s3ConfigurationHasBeenSet; } 631 632 /** 633 * <p>The configuration for the backup Amazon S3 location.</p> 634 */ SetS3Configuration(const S3DestinationConfiguration & value)635 inline void SetS3Configuration(const S3DestinationConfiguration& value) { m_s3ConfigurationHasBeenSet = true; m_s3Configuration = value; } 636 637 /** 638 * <p>The configuration for the backup Amazon S3 location.</p> 639 */ SetS3Configuration(S3DestinationConfiguration && value)640 inline void SetS3Configuration(S3DestinationConfiguration&& value) { m_s3ConfigurationHasBeenSet = true; m_s3Configuration = std::move(value); } 641 642 /** 643 * <p>The configuration for the backup Amazon S3 location.</p> 644 */ WithS3Configuration(const S3DestinationConfiguration & value)645 inline ElasticsearchDestinationConfiguration& WithS3Configuration(const S3DestinationConfiguration& value) { SetS3Configuration(value); return *this;} 646 647 /** 648 * <p>The configuration for the backup Amazon S3 location.</p> 649 */ WithS3Configuration(S3DestinationConfiguration && value)650 inline ElasticsearchDestinationConfiguration& WithS3Configuration(S3DestinationConfiguration&& value) { SetS3Configuration(std::move(value)); return *this;} 651 652 653 /** 654 * <p>The data processing configuration.</p> 655 */ GetProcessingConfiguration()656 inline const ProcessingConfiguration& GetProcessingConfiguration() const{ return m_processingConfiguration; } 657 658 /** 659 * <p>The data processing configuration.</p> 660 */ ProcessingConfigurationHasBeenSet()661 inline bool ProcessingConfigurationHasBeenSet() const { return m_processingConfigurationHasBeenSet; } 662 663 /** 664 * <p>The data processing configuration.</p> 665 */ SetProcessingConfiguration(const ProcessingConfiguration & value)666 inline void SetProcessingConfiguration(const ProcessingConfiguration& value) { m_processingConfigurationHasBeenSet = true; m_processingConfiguration = value; } 667 668 /** 669 * <p>The data processing configuration.</p> 670 */ SetProcessingConfiguration(ProcessingConfiguration && value)671 inline void SetProcessingConfiguration(ProcessingConfiguration&& value) { m_processingConfigurationHasBeenSet = true; m_processingConfiguration = std::move(value); } 672 673 /** 674 * <p>The data processing configuration.</p> 675 */ WithProcessingConfiguration(const ProcessingConfiguration & value)676 inline ElasticsearchDestinationConfiguration& WithProcessingConfiguration(const ProcessingConfiguration& value) { SetProcessingConfiguration(value); return *this;} 677 678 /** 679 * <p>The data processing configuration.</p> 680 */ WithProcessingConfiguration(ProcessingConfiguration && value)681 inline ElasticsearchDestinationConfiguration& WithProcessingConfiguration(ProcessingConfiguration&& value) { SetProcessingConfiguration(std::move(value)); return *this;} 682 683 684 /** 685 * <p>The Amazon CloudWatch logging options for your delivery stream.</p> 686 */ GetCloudWatchLoggingOptions()687 inline const CloudWatchLoggingOptions& GetCloudWatchLoggingOptions() const{ return m_cloudWatchLoggingOptions; } 688 689 /** 690 * <p>The Amazon CloudWatch logging options for your delivery stream.</p> 691 */ CloudWatchLoggingOptionsHasBeenSet()692 inline bool CloudWatchLoggingOptionsHasBeenSet() const { return m_cloudWatchLoggingOptionsHasBeenSet; } 693 694 /** 695 * <p>The Amazon CloudWatch logging options for your delivery stream.</p> 696 */ SetCloudWatchLoggingOptions(const CloudWatchLoggingOptions & value)697 inline void SetCloudWatchLoggingOptions(const CloudWatchLoggingOptions& value) { m_cloudWatchLoggingOptionsHasBeenSet = true; m_cloudWatchLoggingOptions = value; } 698 699 /** 700 * <p>The Amazon CloudWatch logging options for your delivery stream.</p> 701 */ SetCloudWatchLoggingOptions(CloudWatchLoggingOptions && value)702 inline void SetCloudWatchLoggingOptions(CloudWatchLoggingOptions&& value) { m_cloudWatchLoggingOptionsHasBeenSet = true; m_cloudWatchLoggingOptions = std::move(value); } 703 704 /** 705 * <p>The Amazon CloudWatch logging options for your delivery stream.</p> 706 */ WithCloudWatchLoggingOptions(const CloudWatchLoggingOptions & value)707 inline ElasticsearchDestinationConfiguration& WithCloudWatchLoggingOptions(const CloudWatchLoggingOptions& value) { SetCloudWatchLoggingOptions(value); return *this;} 708 709 /** 710 * <p>The Amazon CloudWatch logging options for your delivery stream.</p> 711 */ WithCloudWatchLoggingOptions(CloudWatchLoggingOptions && value)712 inline ElasticsearchDestinationConfiguration& WithCloudWatchLoggingOptions(CloudWatchLoggingOptions&& value) { SetCloudWatchLoggingOptions(std::move(value)); return *this;} 713 714 715 /** 716 * <p>The details of the VPC of the Amazon ES destination.</p> 717 */ GetVpcConfiguration()718 inline const VpcConfiguration& GetVpcConfiguration() const{ return m_vpcConfiguration; } 719 720 /** 721 * <p>The details of the VPC of the Amazon ES destination.</p> 722 */ VpcConfigurationHasBeenSet()723 inline bool VpcConfigurationHasBeenSet() const { return m_vpcConfigurationHasBeenSet; } 724 725 /** 726 * <p>The details of the VPC of the Amazon ES destination.</p> 727 */ SetVpcConfiguration(const VpcConfiguration & value)728 inline void SetVpcConfiguration(const VpcConfiguration& value) { m_vpcConfigurationHasBeenSet = true; m_vpcConfiguration = value; } 729 730 /** 731 * <p>The details of the VPC of the Amazon ES destination.</p> 732 */ SetVpcConfiguration(VpcConfiguration && value)733 inline void SetVpcConfiguration(VpcConfiguration&& value) { m_vpcConfigurationHasBeenSet = true; m_vpcConfiguration = std::move(value); } 734 735 /** 736 * <p>The details of the VPC of the Amazon ES destination.</p> 737 */ WithVpcConfiguration(const VpcConfiguration & value)738 inline ElasticsearchDestinationConfiguration& WithVpcConfiguration(const VpcConfiguration& value) { SetVpcConfiguration(value); return *this;} 739 740 /** 741 * <p>The details of the VPC of the Amazon ES destination.</p> 742 */ WithVpcConfiguration(VpcConfiguration && value)743 inline ElasticsearchDestinationConfiguration& WithVpcConfiguration(VpcConfiguration&& value) { SetVpcConfiguration(std::move(value)); return *this;} 744 745 private: 746 747 Aws::String m_roleARN; 748 bool m_roleARNHasBeenSet; 749 750 Aws::String m_domainARN; 751 bool m_domainARNHasBeenSet; 752 753 Aws::String m_clusterEndpoint; 754 bool m_clusterEndpointHasBeenSet; 755 756 Aws::String m_indexName; 757 bool m_indexNameHasBeenSet; 758 759 Aws::String m_typeName; 760 bool m_typeNameHasBeenSet; 761 762 ElasticsearchIndexRotationPeriod m_indexRotationPeriod; 763 bool m_indexRotationPeriodHasBeenSet; 764 765 ElasticsearchBufferingHints m_bufferingHints; 766 bool m_bufferingHintsHasBeenSet; 767 768 ElasticsearchRetryOptions m_retryOptions; 769 bool m_retryOptionsHasBeenSet; 770 771 ElasticsearchS3BackupMode m_s3BackupMode; 772 bool m_s3BackupModeHasBeenSet; 773 774 S3DestinationConfiguration m_s3Configuration; 775 bool m_s3ConfigurationHasBeenSet; 776 777 ProcessingConfiguration m_processingConfiguration; 778 bool m_processingConfigurationHasBeenSet; 779 780 CloudWatchLoggingOptions m_cloudWatchLoggingOptions; 781 bool m_cloudWatchLoggingOptionsHasBeenSet; 782 783 VpcConfiguration m_vpcConfiguration; 784 bool m_vpcConfigurationHasBeenSet; 785 }; 786 787 } // namespace Model 788 } // namespace Firehose 789 } // namespace Aws 790