aws-sdk-firehose 1.0.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1547 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module Firehose
10
+ module Types
11
+
12
+ # Describes hints for the buffering to perform before delivering data to
13
+ # the destination. Please note that these options are treated as hints,
14
+ # and therefore Firehose may choose to use different values when it is
15
+ # optimal.
16
+ # @note When making an API call, pass BufferingHints
17
+ # data as a hash:
18
+ #
19
+ # {
20
+ # size_in_m_bs: 1,
21
+ # interval_in_seconds: 1,
22
+ # }
23
+ # @!attribute [rw] size_in_m_bs
24
+ # Buffer incoming data to the specified size, in MBs, before
25
+ # delivering it to the destination. The default value is 5.
26
+ #
27
+ # We recommend setting SizeInMBs to a value greater than the amount of
28
+ # data you typically ingest into the delivery stream in 10 seconds.
29
+ # For example, if you typically ingest data at 1 MB/sec set SizeInMBs
30
+ # to be 10 MB or higher.
31
+ # @return [Integer]
32
+ #
33
+ # @!attribute [rw] interval_in_seconds
34
+ # Buffer incoming data for the specified period of time, in seconds,
35
+ # before delivering it to the destination. The default value is 300.
36
+ # @return [Integer]
37
+ class BufferingHints < Struct.new(
38
+ :size_in_m_bs,
39
+ :interval_in_seconds)
40
+ include Aws::Structure
41
+ end
42
+
43
+ # Describes CloudWatch logging options for your delivery stream.
44
+ # @note When making an API call, pass CloudWatchLoggingOptions
45
+ # data as a hash:
46
+ #
47
+ # {
48
+ # enabled: false,
49
+ # log_group_name: "LogGroupName",
50
+ # log_stream_name: "LogStreamName",
51
+ # }
52
+ # @!attribute [rw] enabled
53
+ # Enables or disables CloudWatch logging.
54
+ # @return [Boolean]
55
+ #
56
+ # @!attribute [rw] log_group_name
57
+ # The CloudWatch group name for logging. This value is required if
58
+ # Enabled is true.
59
+ # @return [String]
60
+ #
61
+ # @!attribute [rw] log_stream_name
62
+ # The CloudWatch log stream name for logging. This value is required
63
+ # if Enabled is true.
64
+ # @return [String]
65
+ class CloudWatchLoggingOptions < Struct.new(
66
+ :enabled,
67
+ :log_group_name,
68
+ :log_stream_name)
69
+ include Aws::Structure
70
+ end
71
+
72
+ # Describes a `COPY` command for Amazon Redshift.
73
+ # @note When making an API call, pass CopyCommand
74
+ # data as a hash:
75
+ #
76
+ # {
77
+ # data_table_name: "DataTableName", # required
78
+ # data_table_columns: "DataTableColumns",
79
+ # copy_options: "CopyOptions",
80
+ # }
81
+ # @!attribute [rw] data_table_name
82
+ # The name of the target table. The table must already exist in the
83
+ # database.
84
+ # @return [String]
85
+ #
86
+ # @!attribute [rw] data_table_columns
87
+ # A comma-separated list of column names.
88
+ # @return [String]
89
+ #
90
+ # @!attribute [rw] copy_options
91
+ # Optional parameters to use with the Amazon Redshift `COPY` command.
92
+ # For more information, see the "Optional Parameters" section of
93
+ # [Amazon Redshift COPY command][1]. Some possible examples that would
94
+ # apply to Firehose are as follows.
95
+ #
96
+ # `delimiter '\t' lzop;` - fields are delimited with "\\t" (TAB
97
+ # character) and compressed using lzop.
98
+ #
99
+ # `delimiter '|` - fields are delimited with "\|" (this is the
100
+ # default delimiter).
101
+ #
102
+ # `delimiter '|' escape` - the delimiter should be escaped.
103
+ #
104
+ # `fixedwidth
105
+ # 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6'` -
106
+ # fields are fixed width in the source, with each width specified
107
+ # after every column in the table.
108
+ #
109
+ # `JSON 's3://mybucket/jsonpaths.txt'` - data is in JSON format, and
110
+ # the path specified is the format of the data.
111
+ #
112
+ # For more examples, see [Amazon Redshift COPY command examples][2].
113
+ #
114
+ #
115
+ #
116
+ # [1]: http://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html
117
+ # [2]: http://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html
118
+ # @return [String]
119
+ class CopyCommand < Struct.new(
120
+ :data_table_name,
121
+ :data_table_columns,
122
+ :copy_options)
123
+ include Aws::Structure
124
+ end
125
+
126
+ # Contains the parameters for CreateDeliveryStream.
127
+ # @note When making an API call, pass CreateDeliveryStreamInput
128
+ # data as a hash:
129
+ #
130
+ # {
131
+ # delivery_stream_name: "DeliveryStreamName", # required
132
+ # s3_destination_configuration: {
133
+ # role_arn: "RoleARN", # required
134
+ # bucket_arn: "BucketARN", # required
135
+ # prefix: "Prefix",
136
+ # buffering_hints: {
137
+ # size_in_m_bs: 1,
138
+ # interval_in_seconds: 1,
139
+ # },
140
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
141
+ # encryption_configuration: {
142
+ # no_encryption_config: "NoEncryption", # accepts NoEncryption
143
+ # kms_encryption_config: {
144
+ # awskms_key_arn: "AWSKMSKeyARN", # required
145
+ # },
146
+ # },
147
+ # cloud_watch_logging_options: {
148
+ # enabled: false,
149
+ # log_group_name: "LogGroupName",
150
+ # log_stream_name: "LogStreamName",
151
+ # },
152
+ # },
153
+ # redshift_destination_configuration: {
154
+ # role_arn: "RoleARN", # required
155
+ # cluster_jdbcurl: "ClusterJDBCURL", # required
156
+ # copy_command: { # required
157
+ # data_table_name: "DataTableName", # required
158
+ # data_table_columns: "DataTableColumns",
159
+ # copy_options: "CopyOptions",
160
+ # },
161
+ # username: "Username", # required
162
+ # password: "Password", # required
163
+ # retry_options: {
164
+ # duration_in_seconds: 1,
165
+ # },
166
+ # s3_configuration: { # required
167
+ # role_arn: "RoleARN", # required
168
+ # bucket_arn: "BucketARN", # required
169
+ # prefix: "Prefix",
170
+ # buffering_hints: {
171
+ # size_in_m_bs: 1,
172
+ # interval_in_seconds: 1,
173
+ # },
174
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
175
+ # encryption_configuration: {
176
+ # no_encryption_config: "NoEncryption", # accepts NoEncryption
177
+ # kms_encryption_config: {
178
+ # awskms_key_arn: "AWSKMSKeyARN", # required
179
+ # },
180
+ # },
181
+ # cloud_watch_logging_options: {
182
+ # enabled: false,
183
+ # log_group_name: "LogGroupName",
184
+ # log_stream_name: "LogStreamName",
185
+ # },
186
+ # },
187
+ # cloud_watch_logging_options: {
188
+ # enabled: false,
189
+ # log_group_name: "LogGroupName",
190
+ # log_stream_name: "LogStreamName",
191
+ # },
192
+ # },
193
+ # elasticsearch_destination_configuration: {
194
+ # role_arn: "RoleARN", # required
195
+ # domain_arn: "ElasticsearchDomainARN", # required
196
+ # index_name: "ElasticsearchIndexName", # required
197
+ # type_name: "ElasticsearchTypeName", # required
198
+ # index_rotation_period: "NoRotation", # accepts NoRotation, OneHour, OneDay, OneWeek, OneMonth
199
+ # buffering_hints: {
200
+ # interval_in_seconds: 1,
201
+ # size_in_m_bs: 1,
202
+ # },
203
+ # retry_options: {
204
+ # duration_in_seconds: 1,
205
+ # },
206
+ # s3_backup_mode: "FailedDocumentsOnly", # accepts FailedDocumentsOnly, AllDocuments
207
+ # s3_configuration: { # required
208
+ # role_arn: "RoleARN", # required
209
+ # bucket_arn: "BucketARN", # required
210
+ # prefix: "Prefix",
211
+ # buffering_hints: {
212
+ # size_in_m_bs: 1,
213
+ # interval_in_seconds: 1,
214
+ # },
215
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
216
+ # encryption_configuration: {
217
+ # no_encryption_config: "NoEncryption", # accepts NoEncryption
218
+ # kms_encryption_config: {
219
+ # awskms_key_arn: "AWSKMSKeyARN", # required
220
+ # },
221
+ # },
222
+ # cloud_watch_logging_options: {
223
+ # enabled: false,
224
+ # log_group_name: "LogGroupName",
225
+ # log_stream_name: "LogStreamName",
226
+ # },
227
+ # },
228
+ # cloud_watch_logging_options: {
229
+ # enabled: false,
230
+ # log_group_name: "LogGroupName",
231
+ # log_stream_name: "LogStreamName",
232
+ # },
233
+ # },
234
+ # }
235
+ # @!attribute [rw] delivery_stream_name
236
+ # The name of the delivery stream.
237
+ # @return [String]
238
+ #
239
+ # @!attribute [rw] s3_destination_configuration
240
+ # The destination in Amazon S3. This value must be specified if
241
+ # **ElasticsearchDestinationConfiguration** or
242
+ # **RedshiftDestinationConfiguration** is specified (see restrictions
243
+ # listed above).
244
+ # @return [Types::S3DestinationConfiguration]
245
+ #
246
+ # @!attribute [rw] redshift_destination_configuration
247
+ # The destination in Amazon Redshift. This value cannot be specified
248
+ # if Amazon S3 or Amazon Elasticsearch is the desired destination (see
249
+ # restrictions listed above).
250
+ # @return [Types::RedshiftDestinationConfiguration]
251
+ #
252
+ # @!attribute [rw] elasticsearch_destination_configuration
253
+ # The destination in Amazon ES. This value cannot be specified if
254
+ # Amazon S3 or Amazon Redshift is the desired destination (see
255
+ # restrictions listed above).
256
+ # @return [Types::ElasticsearchDestinationConfiguration]
257
+ class CreateDeliveryStreamInput < Struct.new(
258
+ :delivery_stream_name,
259
+ :s3_destination_configuration,
260
+ :redshift_destination_configuration,
261
+ :elasticsearch_destination_configuration)
262
+ include Aws::Structure
263
+ end
264
+
265
+ # Contains the output of CreateDeliveryStream.
266
+ # @!attribute [rw] delivery_stream_arn
267
+ # The ARN of the delivery stream.
268
+ # @return [String]
269
+ class CreateDeliveryStreamOutput < Struct.new(
270
+ :delivery_stream_arn)
271
+ include Aws::Structure
272
+ end
273
+
274
+ # Contains the parameters for DeleteDeliveryStream.
275
+ # @note When making an API call, pass DeleteDeliveryStreamInput
276
+ # data as a hash:
277
+ #
278
+ # {
279
+ # delivery_stream_name: "DeliveryStreamName", # required
280
+ # }
281
+ # @!attribute [rw] delivery_stream_name
282
+ # The name of the delivery stream.
283
+ # @return [String]
284
+ class DeleteDeliveryStreamInput < Struct.new(
285
+ :delivery_stream_name)
286
+ include Aws::Structure
287
+ end
288
+
289
+ # Contains the output of DeleteDeliveryStream.
290
+ class DeleteDeliveryStreamOutput < Aws::EmptyStructure; end
291
+
292
+ # Contains information about a delivery stream.
293
+ # @!attribute [rw] delivery_stream_name
294
+ # The name of the delivery stream.
295
+ # @return [String]
296
+ #
297
+ # @!attribute [rw] delivery_stream_arn
298
+ # The Amazon Resource Name (ARN) of the delivery stream.
299
+ # @return [String]
300
+ #
301
+ # @!attribute [rw] delivery_stream_status
302
+ # The status of the delivery stream.
303
+ # @return [String]
304
+ #
305
+ # @!attribute [rw] version_id
306
+ # Used when calling the UpdateDestination operation. Each time the
307
+ # destination is updated for the delivery stream, the VersionId is
308
+ # changed, and the current VersionId is required when updating the
309
+ # destination. This is so that the service knows it is applying the
310
+ # changes to the correct version of the delivery stream.
311
+ # @return [String]
312
+ #
313
+ # @!attribute [rw] create_timestamp
314
+ # The date and time that the delivery stream was created.
315
+ # @return [Time]
316
+ #
317
+ # @!attribute [rw] last_update_timestamp
318
+ # The date and time that the delivery stream was last updated.
319
+ # @return [Time]
320
+ #
321
+ # @!attribute [rw] destinations
322
+ # The destinations.
323
+ # @return [Array<Types::DestinationDescription>]
324
+ #
325
+ # @!attribute [rw] has_more_destinations
326
+ # Indicates whether there are more destinations available to list.
327
+ # @return [Boolean]
328
+ class DeliveryStreamDescription < Struct.new(
329
+ :delivery_stream_name,
330
+ :delivery_stream_arn,
331
+ :delivery_stream_status,
332
+ :version_id,
333
+ :create_timestamp,
334
+ :last_update_timestamp,
335
+ :destinations,
336
+ :has_more_destinations)
337
+ include Aws::Structure
338
+ end
339
+
340
+ # Contains the parameters for DescribeDeliveryStream.
341
+ # @note When making an API call, pass DescribeDeliveryStreamInput
342
+ # data as a hash:
343
+ #
344
+ # {
345
+ # delivery_stream_name: "DeliveryStreamName", # required
346
+ # limit: 1,
347
+ # exclusive_start_destination_id: "DestinationId",
348
+ # }
349
+ # @!attribute [rw] delivery_stream_name
350
+ # The name of the delivery stream.
351
+ # @return [String]
352
+ #
353
+ # @!attribute [rw] limit
354
+ # The limit on the number of destinations to return. Currently, you
355
+ # can have one destination per delivery stream.
356
+ # @return [Integer]
357
+ #
358
+ # @!attribute [rw] exclusive_start_destination_id
359
+ # Specifies the destination ID to start returning the destination
360
+ # information. Currently Firehose supports one destination per
361
+ # delivery stream.
362
+ # @return [String]
363
+ class DescribeDeliveryStreamInput < Struct.new(
364
+ :delivery_stream_name,
365
+ :limit,
366
+ :exclusive_start_destination_id)
367
+ include Aws::Structure
368
+ end
369
+
370
+ # Contains the output of DescribeDeliveryStream.
371
+ # @!attribute [rw] delivery_stream_description
372
+ # Information about the delivery stream.
373
+ # @return [Types::DeliveryStreamDescription]
374
+ class DescribeDeliveryStreamOutput < Struct.new(
375
+ :delivery_stream_description)
376
+ include Aws::Structure
377
+ end
378
+
379
+ # Describes the destination for a delivery stream.
380
+ # @!attribute [rw] destination_id
381
+ # The ID of the destination.
382
+ # @return [String]
383
+ #
384
+ # @!attribute [rw] s3_destination_description
385
+ # The Amazon S3 destination.
386
+ # @return [Types::S3DestinationDescription]
387
+ #
388
+ # @!attribute [rw] redshift_destination_description
389
+ # The destination in Amazon Redshift.
390
+ # @return [Types::RedshiftDestinationDescription]
391
+ #
392
+ # @!attribute [rw] elasticsearch_destination_description
393
+ # The destination in Amazon ES.
394
+ # @return [Types::ElasticsearchDestinationDescription]
395
+ class DestinationDescription < Struct.new(
396
+ :destination_id,
397
+ :s3_destination_description,
398
+ :redshift_destination_description,
399
+ :elasticsearch_destination_description)
400
+ include Aws::Structure
401
+ end
402
+
403
+ # Describes the buffering to perform before delivering data to the
404
+ # Amazon ES destination.
405
+ # @note When making an API call, pass ElasticsearchBufferingHints
406
+ # data as a hash:
407
+ #
408
+ # {
409
+ # interval_in_seconds: 1,
410
+ # size_in_m_bs: 1,
411
+ # }
412
+ # @!attribute [rw] interval_in_seconds
413
+ # Buffer incoming data for the specified period of time, in seconds,
414
+ # before delivering it to the destination. The default value is 300 (5
415
+ # minutes).
416
+ # @return [Integer]
417
+ #
418
+ # @!attribute [rw] size_in_m_bs
419
+ # Buffer incoming data to the specified size, in MBs, before
420
+ # delivering it to the destination. The default value is 5.
421
+ #
422
+ # We recommend setting **SizeInMBs** to a value greater than the
423
+ # amount of data you typically ingest into the delivery stream in 10
424
+ # seconds. For example, if you typically ingest data at 1 MB/sec, set
425
+ # **SizeInMBs** to be 10 MB or higher.
426
+ # @return [Integer]
427
+ class ElasticsearchBufferingHints < Struct.new(
428
+ :interval_in_seconds,
429
+ :size_in_m_bs)
430
+ include Aws::Structure
431
+ end
432
+
433
+ # Describes the configuration of a destination in Amazon ES.
434
+ # @note When making an API call, pass ElasticsearchDestinationConfiguration
435
+ # data as a hash:
436
+ #
437
+ # {
438
+ # role_arn: "RoleARN", # required
439
+ # domain_arn: "ElasticsearchDomainARN", # required
440
+ # index_name: "ElasticsearchIndexName", # required
441
+ # type_name: "ElasticsearchTypeName", # required
442
+ # index_rotation_period: "NoRotation", # accepts NoRotation, OneHour, OneDay, OneWeek, OneMonth
443
+ # buffering_hints: {
444
+ # interval_in_seconds: 1,
445
+ # size_in_m_bs: 1,
446
+ # },
447
+ # retry_options: {
448
+ # duration_in_seconds: 1,
449
+ # },
450
+ # s3_backup_mode: "FailedDocumentsOnly", # accepts FailedDocumentsOnly, AllDocuments
451
+ # s3_configuration: { # required
452
+ # role_arn: "RoleARN", # required
453
+ # bucket_arn: "BucketARN", # required
454
+ # prefix: "Prefix",
455
+ # buffering_hints: {
456
+ # size_in_m_bs: 1,
457
+ # interval_in_seconds: 1,
458
+ # },
459
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
460
+ # encryption_configuration: {
461
+ # no_encryption_config: "NoEncryption", # accepts NoEncryption
462
+ # kms_encryption_config: {
463
+ # awskms_key_arn: "AWSKMSKeyARN", # required
464
+ # },
465
+ # },
466
+ # cloud_watch_logging_options: {
467
+ # enabled: false,
468
+ # log_group_name: "LogGroupName",
469
+ # log_stream_name: "LogStreamName",
470
+ # },
471
+ # },
472
+ # cloud_watch_logging_options: {
473
+ # enabled: false,
474
+ # log_group_name: "LogGroupName",
475
+ # log_stream_name: "LogStreamName",
476
+ # },
477
+ # }
478
+ # @!attribute [rw] role_arn
479
+ # The ARN of the IAM role to be assumed by Firehose for calling the
480
+ # Amazon ES Configuration API and for indexing documents. For more
481
+ # information, see [Amazon S3 Bucket Access][1].
482
+ #
483
+ #
484
+ #
485
+ # [1]: http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3
486
+ # @return [String]
487
+ #
488
+ # @!attribute [rw] domain_arn
489
+ # The ARN of the Amazon ES domain. The IAM role must have permission
490
+ # for `DescribeElasticsearchDomain`, `DescribeElasticsearchDomains` ,
491
+ # and `DescribeElasticsearchDomainConfig` after assuming **RoleARN**.
492
+ # @return [String]
493
+ #
494
+ # @!attribute [rw] index_name
495
+ # The Elasticsearch index name.
496
+ # @return [String]
497
+ #
498
+ # @!attribute [rw] type_name
499
+ # The Elasticsearch type name.
500
+ # @return [String]
501
+ #
502
+ # @!attribute [rw] index_rotation_period
503
+ # The Elasticsearch index rotation period. Index rotation appends a
504
+ # timestamp to the IndexName to facilitate expiration of old data. For
505
+ # more information, see [Index Rotation for Amazon Elasticsearch
506
+ # Service Destination][1]. Default value is `OneDay`.
507
+ #
508
+ #
509
+ #
510
+ # [1]: http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation
511
+ # @return [String]
512
+ #
513
+ # @!attribute [rw] buffering_hints
514
+ # Buffering options. If no value is specified,
515
+ # **ElasticsearchBufferingHints** object default values are used.
516
+ # @return [Types::ElasticsearchBufferingHints]
517
+ #
518
+ # @!attribute [rw] retry_options
519
+ # Configures retry behavior in the event that Firehose is unable to
520
+ # deliver documents to Amazon ES. Default value is 300 (5 minutes).
521
+ # @return [Types::ElasticsearchRetryOptions]
522
+ #
523
+ # @!attribute [rw] s3_backup_mode
524
+ # Defines how documents should be delivered to Amazon S3. When set to
525
+ # FailedDocumentsOnly, Firehose writes any documents that could not be
526
+ # indexed to the configured Amazon S3 destination, with
527
+ # elasticsearch-failed/ appended to the key prefix. When set to
528
+ # AllDocuments, Firehose delivers all incoming records to Amazon S3,
529
+ # and also writes failed documents with elasticsearch-failed/ appended
530
+ # to the prefix. For more information, see [Amazon S3 Backup for
531
+ # Amazon Elasticsearch Service Destination][1]. Default value is
532
+ # FailedDocumentsOnly.
533
+ #
534
+ #
535
+ #
536
+ # [1]: http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup
537
+ # @return [String]
538
+ #
539
+ # @!attribute [rw] s3_configuration
540
+ # Describes the configuration of a destination in Amazon S3.
541
+ # @return [Types::S3DestinationConfiguration]
542
+ #
543
+ # @!attribute [rw] cloud_watch_logging_options
544
+ # Describes CloudWatch logging options for your delivery stream.
545
+ # @return [Types::CloudWatchLoggingOptions]
546
+ class ElasticsearchDestinationConfiguration < Struct.new(
547
+ :role_arn,
548
+ :domain_arn,
549
+ :index_name,
550
+ :type_name,
551
+ :index_rotation_period,
552
+ :buffering_hints,
553
+ :retry_options,
554
+ :s3_backup_mode,
555
+ :s3_configuration,
556
+ :cloud_watch_logging_options)
557
+ include Aws::Structure
558
+ end
559
+
560
+ # The destination description in Amazon ES.
561
+ # @!attribute [rw] role_arn
562
+ # The ARN of the AWS credentials.
563
+ # @return [String]
564
+ #
565
+ # @!attribute [rw] domain_arn
566
+ # The ARN of the Amazon ES domain.
567
+ # @return [String]
568
+ #
569
+ # @!attribute [rw] index_name
570
+ # The Elasticsearch index name.
571
+ # @return [String]
572
+ #
573
+ # @!attribute [rw] type_name
574
+ # The Elasticsearch type name.
575
+ # @return [String]
576
+ #
577
+ # @!attribute [rw] index_rotation_period
578
+ # The Elasticsearch index rotation period
579
+ # @return [String]
580
+ #
581
+ # @!attribute [rw] buffering_hints
582
+ # Buffering options.
583
+ # @return [Types::ElasticsearchBufferingHints]
584
+ #
585
+ # @!attribute [rw] retry_options
586
+ # Elasticsearch retry options.
587
+ # @return [Types::ElasticsearchRetryOptions]
588
+ #
589
+ # @!attribute [rw] s3_backup_mode
590
+ # Amazon S3 backup mode.
591
+ # @return [String]
592
+ #
593
+ # @!attribute [rw] s3_destination_description
594
+ # Describes a destination in Amazon S3.
595
+ # @return [Types::S3DestinationDescription]
596
+ #
597
+ # @!attribute [rw] cloud_watch_logging_options
598
+ # CloudWatch logging options.
599
+ # @return [Types::CloudWatchLoggingOptions]
600
+ class ElasticsearchDestinationDescription < Struct.new(
601
+ :role_arn,
602
+ :domain_arn,
603
+ :index_name,
604
+ :type_name,
605
+ :index_rotation_period,
606
+ :buffering_hints,
607
+ :retry_options,
608
+ :s3_backup_mode,
609
+ :s3_destination_description,
610
+ :cloud_watch_logging_options)
611
+ include Aws::Structure
612
+ end
613
+
614
+ # Describes an update for a destination in Amazon ES.
615
+ # @note When making an API call, pass ElasticsearchDestinationUpdate
616
+ # data as a hash:
617
+ #
618
+ # {
619
+ # role_arn: "RoleARN",
620
+ # domain_arn: "ElasticsearchDomainARN",
621
+ # index_name: "ElasticsearchIndexName",
622
+ # type_name: "ElasticsearchTypeName",
623
+ # index_rotation_period: "NoRotation", # accepts NoRotation, OneHour, OneDay, OneWeek, OneMonth
624
+ # buffering_hints: {
625
+ # interval_in_seconds: 1,
626
+ # size_in_m_bs: 1,
627
+ # },
628
+ # retry_options: {
629
+ # duration_in_seconds: 1,
630
+ # },
631
+ # s3_update: {
632
+ # role_arn: "RoleARN",
633
+ # bucket_arn: "BucketARN",
634
+ # prefix: "Prefix",
635
+ # buffering_hints: {
636
+ # size_in_m_bs: 1,
637
+ # interval_in_seconds: 1,
638
+ # },
639
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
640
+ # encryption_configuration: {
641
+ # no_encryption_config: "NoEncryption", # accepts NoEncryption
642
+ # kms_encryption_config: {
643
+ # awskms_key_arn: "AWSKMSKeyARN", # required
644
+ # },
645
+ # },
646
+ # cloud_watch_logging_options: {
647
+ # enabled: false,
648
+ # log_group_name: "LogGroupName",
649
+ # log_stream_name: "LogStreamName",
650
+ # },
651
+ # },
652
+ # cloud_watch_logging_options: {
653
+ # enabled: false,
654
+ # log_group_name: "LogGroupName",
655
+ # log_stream_name: "LogStreamName",
656
+ # },
657
+ # }
658
+ # @!attribute [rw] role_arn
659
+ # The ARN of the IAM role to be assumed by Firehose for calling the
660
+ # Amazon ES Configuration API and for indexing documents. For more
661
+ # information, see [Amazon S3 Bucket Access][1].
662
+ #
663
+ #
664
+ #
665
+ # [1]: http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3
666
+ # @return [String]
667
+ #
668
+ # @!attribute [rw] domain_arn
669
+ # The ARN of the Amazon ES domain. The IAM role must have permission
670
+ # for DescribeElasticsearchDomain, DescribeElasticsearchDomains , and
671
+ # DescribeElasticsearchDomainConfig after assuming **RoleARN**.
672
+ # @return [String]
673
+ #
674
+ # @!attribute [rw] index_name
675
+ # The Elasticsearch index name.
676
+ # @return [String]
677
+ #
678
+ # @!attribute [rw] type_name
679
+ # The Elasticsearch type name.
680
+ # @return [String]
681
+ #
682
+ # @!attribute [rw] index_rotation_period
683
+ # The Elasticsearch index rotation period. Index rotation appends a
684
+ # timestamp to the IndexName to facilitate the expiration of old data.
685
+ # For more information, see [Index Rotation for Amazon Elasticsearch
686
+ # Service Destination][1]. Default value is `OneDay`.
687
+ #
688
+ #
689
+ #
690
+ # [1]: http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation
691
+ # @return [String]
692
+ #
693
+ # @!attribute [rw] buffering_hints
694
+ # Buffering options. If no value is specified,
695
+ # **ElasticsearchBufferingHints** object default values are used.
696
+ # @return [Types::ElasticsearchBufferingHints]
697
+ #
698
+ # @!attribute [rw] retry_options
699
+ # Configures retry behavior in the event that Firehose is unable to
700
+ # deliver documents to Amazon ES. Default value is 300 (5 minutes).
701
+ # @return [Types::ElasticsearchRetryOptions]
702
+ #
703
+ # @!attribute [rw] s3_update
704
+ # Describes an update for a destination in Amazon S3.
705
+ # @return [Types::S3DestinationUpdate]
706
+ #
707
+ # @!attribute [rw] cloud_watch_logging_options
708
+ # Describes CloudWatch logging options for your delivery stream.
709
+ # @return [Types::CloudWatchLoggingOptions]
710
+ class ElasticsearchDestinationUpdate < Struct.new(
711
+ :role_arn,
712
+ :domain_arn,
713
+ :index_name,
714
+ :type_name,
715
+ :index_rotation_period,
716
+ :buffering_hints,
717
+ :retry_options,
718
+ :s3_update,
719
+ :cloud_watch_logging_options)
720
+ include Aws::Structure
721
+ end
722
+
723
+ # Configures retry behavior in the event that Firehose is unable to
724
+ # deliver documents to Amazon ES.
725
+ # @note When making an API call, pass ElasticsearchRetryOptions
726
+ # data as a hash:
727
+ #
728
+ # {
729
+ # duration_in_seconds: 1,
730
+ # }
731
+ # @!attribute [rw] duration_in_seconds
732
+ # After an initial failure to deliver to Amazon ES, the total amount
733
+ # of time during which Firehose re-attempts delivery (including the
734
+ # first attempt). After this time has elapsed, the failed documents
735
+ # are written to Amazon S3. Default value is 300 seconds (5 minutes).
736
+ # A value of 0 (zero) results in no retries.
737
+ # @return [Integer]
738
+ class ElasticsearchRetryOptions < Struct.new(
739
+ :duration_in_seconds)
740
+ include Aws::Structure
741
+ end
742
+
743
+ # Describes the encryption for a destination in Amazon S3.
744
+ # @note When making an API call, pass EncryptionConfiguration
745
+ # data as a hash:
746
+ #
747
+ # {
748
+ # no_encryption_config: "NoEncryption", # accepts NoEncryption
749
+ # kms_encryption_config: {
750
+ # awskms_key_arn: "AWSKMSKeyARN", # required
751
+ # },
752
+ # }
753
+ # @!attribute [rw] no_encryption_config
754
+ # Specifically override existing encryption information to ensure no
755
+ # encryption is used.
756
+ # @return [String]
757
+ #
758
+ # @!attribute [rw] kms_encryption_config
759
+ # The encryption key.
760
+ # @return [Types::KMSEncryptionConfig]
761
+ class EncryptionConfiguration < Struct.new(
762
+ :no_encryption_config,
763
+ :kms_encryption_config)
764
+ include Aws::Structure
765
+ end
766
+
767
+ # Describes an encryption key for a destination in Amazon S3.
768
+ # @note When making an API call, pass KMSEncryptionConfig
769
+ # data as a hash:
770
+ #
771
+ # {
772
+ # awskms_key_arn: "AWSKMSKeyARN", # required
773
+ # }
774
+ # @!attribute [rw] awskms_key_arn
775
+ # The ARN of the encryption key. Must belong to the same region as the
776
+ # destination Amazon S3 bucket.
777
+ # @return [String]
778
+ class KMSEncryptionConfig < Struct.new(
779
+ :awskms_key_arn)
780
+ include Aws::Structure
781
+ end
782
+
783
+ # Contains the parameters for ListDeliveryStreams.
784
+ # @note When making an API call, pass ListDeliveryStreamsInput
785
+ # data as a hash:
786
+ #
787
+ # {
788
+ # limit: 1,
789
+ # exclusive_start_delivery_stream_name: "DeliveryStreamName",
790
+ # }
791
+ # @!attribute [rw] limit
792
+ # The maximum number of delivery streams to list.
793
+ # @return [Integer]
794
+ #
795
+ # @!attribute [rw] exclusive_start_delivery_stream_name
796
+ # The name of the delivery stream to start the list with.
797
+ # @return [String]
798
+ class ListDeliveryStreamsInput < Struct.new(
799
+ :limit,
800
+ :exclusive_start_delivery_stream_name)
801
+ include Aws::Structure
802
+ end
803
+
804
+ # Contains the output of ListDeliveryStreams.
805
+ # @!attribute [rw] delivery_stream_names
806
+ # The names of the delivery streams.
807
+ # @return [Array<String>]
808
+ #
809
+ # @!attribute [rw] has_more_delivery_streams
810
+ # Indicates whether there are more delivery streams available to list.
811
+ # @return [Boolean]
812
+ class ListDeliveryStreamsOutput < Struct.new(
813
+ :delivery_stream_names,
814
+ :has_more_delivery_streams)
815
+ include Aws::Structure
816
+ end
817
+
818
+ # Contains the parameters for PutRecordBatch.
819
+ # @note When making an API call, pass PutRecordBatchInput
820
+ # data as a hash:
821
+ #
822
+ # {
823
+ # delivery_stream_name: "DeliveryStreamName", # required
824
+ # records: [ # required
825
+ # {
826
+ # data: "data", # required
827
+ # },
828
+ # ],
829
+ # }
830
+ # @!attribute [rw] delivery_stream_name
831
+ # The name of the delivery stream.
832
+ # @return [String]
833
+ #
834
+ # @!attribute [rw] records
835
+ # One or more records.
836
+ # @return [Array<Types::Record>]
837
+ class PutRecordBatchInput < Struct.new(
838
+ :delivery_stream_name,
839
+ :records)
840
+ include Aws::Structure
841
+ end
842
+
843
+ # Contains the output of PutRecordBatch.
844
+ # @!attribute [rw] failed_put_count
845
+ # The number of unsuccessfully written records.
846
+ # @return [Integer]
847
+ #
848
+ # @!attribute [rw] request_responses
849
+ # The results for the individual records. The index of each element
850
+ # matches the same index in which records were sent.
851
+ # @return [Array<Types::PutRecordBatchResponseEntry>]
852
+ class PutRecordBatchOutput < Struct.new(
853
+ :failed_put_count,
854
+ :request_responses)
855
+ include Aws::Structure
856
+ end
857
+
858
+ # Contains the result for an individual record from a PutRecordBatch
859
+ # request. If the record is successfully added to your delivery stream,
860
+ # it receives a record ID. If the record fails to be added to your
861
+ # delivery stream, the result includes an error code and an error
862
+ # message.
863
+ # @!attribute [rw] record_id
864
+ # The ID of the record.
865
+ # @return [String]
866
+ #
867
+ # @!attribute [rw] error_code
868
+ # The error code for an individual record result.
869
+ # @return [String]
870
+ #
871
+ # @!attribute [rw] error_message
872
+ # The error message for an individual record result.
873
+ # @return [String]
874
+ class PutRecordBatchResponseEntry < Struct.new(
875
+ :record_id,
876
+ :error_code,
877
+ :error_message)
878
+ include Aws::Structure
879
+ end
880
+
881
+ # Contains the parameters for PutRecord.
882
+ # @note When making an API call, pass PutRecordInput
883
+ # data as a hash:
884
+ #
885
+ # {
886
+ # delivery_stream_name: "DeliveryStreamName", # required
887
+ # record: { # required
888
+ # data: "data", # required
889
+ # },
890
+ # }
891
+ # @!attribute [rw] delivery_stream_name
892
+ # The name of the delivery stream.
893
+ # @return [String]
894
+ #
895
+ # @!attribute [rw] record
896
+ # The record.
897
+ # @return [Types::Record]
898
+ class PutRecordInput < Struct.new(
899
+ :delivery_stream_name,
900
+ :record)
901
+ include Aws::Structure
902
+ end
903
+
904
+ # Contains the output of PutRecord.
905
+ # @!attribute [rw] record_id
906
+ # The ID of the record.
907
+ # @return [String]
908
+ class PutRecordOutput < Struct.new(
909
+ :record_id)
910
+ include Aws::Structure
911
+ end
912
+
913
+ # The unit of data in a delivery stream.
914
+ # @note When making an API call, pass Record
915
+ # data as a hash:
916
+ #
917
+ # {
918
+ # data: "data", # required
919
+ # }
920
+ # @!attribute [rw] data
921
+ # The data blob, which is base64-encoded when the blob is serialized.
922
+ # The maximum size of the data blob, before base64-encoding, is 1,000
923
+ # KB.
924
+ # @return [String]
925
+ class Record < Struct.new(
926
+ :data)
927
+ include Aws::Structure
928
+ end
929
+
930
+ # Describes the configuration of a destination in Amazon Redshift.
931
+ # @note When making an API call, pass RedshiftDestinationConfiguration
932
+ # data as a hash:
933
+ #
934
+ # {
935
+ # role_arn: "RoleARN", # required
936
+ # cluster_jdbcurl: "ClusterJDBCURL", # required
937
+ # copy_command: { # required
938
+ # data_table_name: "DataTableName", # required
939
+ # data_table_columns: "DataTableColumns",
940
+ # copy_options: "CopyOptions",
941
+ # },
942
+ # username: "Username", # required
943
+ # password: "Password", # required
944
+ # retry_options: {
945
+ # duration_in_seconds: 1,
946
+ # },
947
+ # s3_configuration: { # required
948
+ # role_arn: "RoleARN", # required
949
+ # bucket_arn: "BucketARN", # required
950
+ # prefix: "Prefix",
951
+ # buffering_hints: {
952
+ # size_in_m_bs: 1,
953
+ # interval_in_seconds: 1,
954
+ # },
955
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
956
+ # encryption_configuration: {
957
+ # no_encryption_config: "NoEncryption", # accepts NoEncryption
958
+ # kms_encryption_config: {
959
+ # awskms_key_arn: "AWSKMSKeyARN", # required
960
+ # },
961
+ # },
962
+ # cloud_watch_logging_options: {
963
+ # enabled: false,
964
+ # log_group_name: "LogGroupName",
965
+ # log_stream_name: "LogStreamName",
966
+ # },
967
+ # },
968
+ # cloud_watch_logging_options: {
969
+ # enabled: false,
970
+ # log_group_name: "LogGroupName",
971
+ # log_stream_name: "LogStreamName",
972
+ # },
973
+ # }
974
+ # @!attribute [rw] role_arn
975
+ # The ARN of the AWS credentials.
976
+ # @return [String]
977
+ #
978
+ # @!attribute [rw] cluster_jdbcurl
979
+ # The database connection string.
980
+ # @return [String]
981
+ #
982
+ # @!attribute [rw] copy_command
983
+ # The `COPY` command.
984
+ # @return [Types::CopyCommand]
985
+ #
986
+ # @!attribute [rw] username
987
+ # The name of the user.
988
+ # @return [String]
989
+ #
990
+ # @!attribute [rw] password
991
+ # The user password.
992
+ # @return [String]
993
+ #
994
+ # @!attribute [rw] retry_options
995
+ # Configures retry behavior in the event that Firehose is unable to
996
+ # deliver documents to Amazon Redshift. Default value is 3600 (60
997
+ # minutes).
998
+ # @return [Types::RedshiftRetryOptions]
999
+ #
1000
+ # @!attribute [rw] s3_configuration
1001
+ # The S3 configuration for the intermediate location from which Amazon
1002
+ # Redshift obtains data. Restrictions are described in the topic for
1003
+ # CreateDeliveryStream.
1004
+ #
1005
+ # The compression formats `SNAPPY` or `ZIP` cannot be specified in
1006
+ # **RedshiftDestinationConfiguration.S3Configuration** because the
1007
+ # Amazon Redshift `COPY` operation that reads from the S3 bucket
1008
+ # doesn't support these compression formats.
1009
+ # @return [Types::S3DestinationConfiguration]
1010
+ #
1011
+ # @!attribute [rw] cloud_watch_logging_options
1012
+ # Describes CloudWatch logging options for your delivery stream.
1013
+ # @return [Types::CloudWatchLoggingOptions]
1014
+ class RedshiftDestinationConfiguration < Struct.new(
1015
+ :role_arn,
1016
+ :cluster_jdbcurl,
1017
+ :copy_command,
1018
+ :username,
1019
+ :password,
1020
+ :retry_options,
1021
+ :s3_configuration,
1022
+ :cloud_watch_logging_options)
1023
+ include Aws::Structure
1024
+ end
1025
+
1026
+ # Describes a destination in Amazon Redshift.
1027
+ # @!attribute [rw] role_arn
1028
+ # The ARN of the AWS credentials.
1029
+ # @return [String]
1030
+ #
1031
+ # @!attribute [rw] cluster_jdbcurl
1032
+ # The database connection string.
1033
+ # @return [String]
1034
+ #
1035
+ # @!attribute [rw] copy_command
1036
+ # The `COPY` command.
1037
+ # @return [Types::CopyCommand]
1038
+ #
1039
+ # @!attribute [rw] username
1040
+ # The name of the user.
1041
+ # @return [String]
1042
+ #
1043
+ # @!attribute [rw] retry_options
1044
+ # Configures retry behavior in the event that Firehose is unable to
1045
+ # deliver documents to Amazon Redshift. Default value is 3600 (60
1046
+ # minutes).
1047
+ # @return [Types::RedshiftRetryOptions]
1048
+ #
1049
+ # @!attribute [rw] s3_destination_description
1050
+ # The Amazon S3 destination.
1051
+ # @return [Types::S3DestinationDescription]
1052
+ #
1053
+ # @!attribute [rw] cloud_watch_logging_options
1054
+ # Describes CloudWatch logging options for your delivery stream.
1055
+ # @return [Types::CloudWatchLoggingOptions]
1056
+ class RedshiftDestinationDescription < Struct.new(
1057
+ :role_arn,
1058
+ :cluster_jdbcurl,
1059
+ :copy_command,
1060
+ :username,
1061
+ :retry_options,
1062
+ :s3_destination_description,
1063
+ :cloud_watch_logging_options)
1064
+ include Aws::Structure
1065
+ end
1066
+
1067
+ # Describes an update for a destination in Amazon Redshift.
1068
+ # @note When making an API call, pass RedshiftDestinationUpdate
1069
+ # data as a hash:
1070
+ #
1071
+ # {
1072
+ # role_arn: "RoleARN",
1073
+ # cluster_jdbcurl: "ClusterJDBCURL",
1074
+ # copy_command: {
1075
+ # data_table_name: "DataTableName", # required
1076
+ # data_table_columns: "DataTableColumns",
1077
+ # copy_options: "CopyOptions",
1078
+ # },
1079
+ # username: "Username",
1080
+ # password: "Password",
1081
+ # retry_options: {
1082
+ # duration_in_seconds: 1,
1083
+ # },
1084
+ # s3_update: {
1085
+ # role_arn: "RoleARN",
1086
+ # bucket_arn: "BucketARN",
1087
+ # prefix: "Prefix",
1088
+ # buffering_hints: {
1089
+ # size_in_m_bs: 1,
1090
+ # interval_in_seconds: 1,
1091
+ # },
1092
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
1093
+ # encryption_configuration: {
1094
+ # no_encryption_config: "NoEncryption", # accepts NoEncryption
1095
+ # kms_encryption_config: {
1096
+ # awskms_key_arn: "AWSKMSKeyARN", # required
1097
+ # },
1098
+ # },
1099
+ # cloud_watch_logging_options: {
1100
+ # enabled: false,
1101
+ # log_group_name: "LogGroupName",
1102
+ # log_stream_name: "LogStreamName",
1103
+ # },
1104
+ # },
1105
+ # cloud_watch_logging_options: {
1106
+ # enabled: false,
1107
+ # log_group_name: "LogGroupName",
1108
+ # log_stream_name: "LogStreamName",
1109
+ # },
1110
+ # }
1111
+ # @!attribute [rw] role_arn
1112
+ # The ARN of the AWS credentials.
1113
+ # @return [String]
1114
+ #
1115
+ # @!attribute [rw] cluster_jdbcurl
1116
+ # The database connection string.
1117
+ # @return [String]
1118
+ #
1119
+ # @!attribute [rw] copy_command
1120
+ # The `COPY` command.
1121
+ # @return [Types::CopyCommand]
1122
+ #
1123
+ # @!attribute [rw] username
1124
+ # The name of the user.
1125
+ # @return [String]
1126
+ #
1127
+ # @!attribute [rw] password
1128
+ # The user password.
1129
+ # @return [String]
1130
+ #
1131
+ # @!attribute [rw] retry_options
1132
+ # Configures retry behavior in the event that Firehose is unable to
1133
+ # deliver documents to Amazon Redshift. Default value is 3600 (60
1134
+ # minutes).
1135
+ # @return [Types::RedshiftRetryOptions]
1136
+ #
1137
+ # @!attribute [rw] s3_update
1138
+ # The Amazon S3 destination.
1139
+ #
1140
+ # The compression formats `SNAPPY` or `ZIP` cannot be specified in
1141
+ # **RedshiftDestinationUpdate.S3Update** because the Amazon Redshift
1142
+ # `COPY` operation that reads from the S3 bucket doesn't support
1143
+ # these compression formats.
1144
+ # @return [Types::S3DestinationUpdate]
1145
+ #
1146
+ # @!attribute [rw] cloud_watch_logging_options
1147
+ # Describes CloudWatch logging options for your delivery stream.
1148
+ # @return [Types::CloudWatchLoggingOptions]
1149
+ class RedshiftDestinationUpdate < Struct.new(
1150
+ :role_arn,
1151
+ :cluster_jdbcurl,
1152
+ :copy_command,
1153
+ :username,
1154
+ :password,
1155
+ :retry_options,
1156
+ :s3_update,
1157
+ :cloud_watch_logging_options)
1158
+ include Aws::Structure
1159
+ end
1160
+
1161
+ # Configures retry behavior in the event that Firehose is unable to
1162
+ # deliver documents to Amazon Redshift.
1163
+ # @note When making an API call, pass RedshiftRetryOptions
1164
+ # data as a hash:
1165
+ #
1166
+ # {
1167
+ # duration_in_seconds: 1,
1168
+ # }
1169
+ # @!attribute [rw] duration_in_seconds
1170
+ # The length of time during which Firehose retries delivery after a
1171
+ # failure, starting from the initial request and including the first
1172
+ # attempt. The default value is 3600 seconds (60 minutes). Firehose
1173
+ # does not retry if the value of `DurationInSeconds` is 0 (zero) or if
1174
+ # the first delivery attempt takes longer than the current value.
1175
+ # @return [Integer]
1176
+ class RedshiftRetryOptions < Struct.new(
1177
+ :duration_in_seconds)
1178
+ include Aws::Structure
1179
+ end
1180
+
1181
+ # Describes the configuration of a destination in Amazon S3.
1182
+ # @note When making an API call, pass S3DestinationConfiguration
1183
+ # data as a hash:
1184
+ #
1185
+ # {
1186
+ # role_arn: "RoleARN", # required
1187
+ # bucket_arn: "BucketARN", # required
1188
+ # prefix: "Prefix",
1189
+ # buffering_hints: {
1190
+ # size_in_m_bs: 1,
1191
+ # interval_in_seconds: 1,
1192
+ # },
1193
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
1194
+ # encryption_configuration: {
1195
+ # no_encryption_config: "NoEncryption", # accepts NoEncryption
1196
+ # kms_encryption_config: {
1197
+ # awskms_key_arn: "AWSKMSKeyARN", # required
1198
+ # },
1199
+ # },
1200
+ # cloud_watch_logging_options: {
1201
+ # enabled: false,
1202
+ # log_group_name: "LogGroupName",
1203
+ # log_stream_name: "LogStreamName",
1204
+ # },
1205
+ # }
1206
+ # @!attribute [rw] role_arn
1207
+ # The ARN of the AWS credentials.
1208
+ # @return [String]
1209
+ #
1210
+ # @!attribute [rw] bucket_arn
1211
+ # The ARN of the S3 bucket.
1212
+ # @return [String]
1213
+ #
1214
+ # @!attribute [rw] prefix
1215
+ # The "YYYY/MM/DD/HH" time format prefix is automatically used for
1216
+ # delivered S3 files. You can specify an extra prefix to be added in
1217
+ # front of the time format prefix. Note that if the prefix ends with a
1218
+ # slash, it appears as a folder in the S3 bucket. For more
1219
+ # information, see [Amazon S3 Object Name Format][1] in the [Amazon
1220
+ # Kinesis Firehose Developer Guide][2].
1221
+ #
1222
+ #
1223
+ #
1224
+ # [1]: http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html
1225
+ # [2]: http://docs.aws.amazon.com/firehose/latest/dev/
1226
+ # @return [String]
1227
+ #
1228
+ # @!attribute [rw] buffering_hints
1229
+ # The buffering option. If no value is specified, **BufferingHints**
1230
+ # object default values are used.
1231
+ # @return [Types::BufferingHints]
1232
+ #
1233
+ # @!attribute [rw] compression_format
1234
+ # The compression format. If no value is specified, the default is
1235
+ # `UNCOMPRESSED`.
1236
+ #
1237
+ # The compression formats `SNAPPY` or `ZIP` cannot be specified for
1238
+ # Amazon Redshift destinations because they are not supported by the
1239
+ # Amazon Redshift `COPY` operation that reads from the S3 bucket.
1240
+ # @return [String]
1241
+ #
1242
+ # @!attribute [rw] encryption_configuration
1243
+ # The encryption configuration. If no value is specified, the default
1244
+ # is no encryption.
1245
+ # @return [Types::EncryptionConfiguration]
1246
+ #
1247
+ # @!attribute [rw] cloud_watch_logging_options
1248
+ # Describes CloudWatch logging options for your delivery stream.
1249
+ # @return [Types::CloudWatchLoggingOptions]
1250
+ class S3DestinationConfiguration < Struct.new(
1251
+ :role_arn,
1252
+ :bucket_arn,
1253
+ :prefix,
1254
+ :buffering_hints,
1255
+ :compression_format,
1256
+ :encryption_configuration,
1257
+ :cloud_watch_logging_options)
1258
+ include Aws::Structure
1259
+ end
1260
+
1261
+ # Describes a destination in Amazon S3.
1262
+ # @!attribute [rw] role_arn
1263
+ # The ARN of the AWS credentials.
1264
+ # @return [String]
1265
+ #
1266
+ # @!attribute [rw] bucket_arn
1267
+ # The ARN of the S3 bucket.
1268
+ # @return [String]
1269
+ #
1270
+ # @!attribute [rw] prefix
1271
+ # The "YYYY/MM/DD/HH" time format prefix is automatically used for
1272
+ # delivered S3 files. You can specify an extra prefix to be added in
1273
+ # front of the time format prefix. Note that if the prefix ends with a
1274
+ # slash, it appears as a folder in the S3 bucket. For more
1275
+ # information, see [Amazon S3 Object Name Format][1] in the [Amazon
1276
+ # Kinesis Firehose Developer Guide][2].
1277
+ #
1278
+ #
1279
+ #
1280
+ # [1]: http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html
1281
+ # [2]: http://docs.aws.amazon.com/firehose/latest/dev/
1282
+ # @return [String]
1283
+ #
1284
+ # @!attribute [rw] buffering_hints
1285
+ # The buffering option. If no value is specified, **BufferingHints**
1286
+ # object default values are used.
1287
+ # @return [Types::BufferingHints]
1288
+ #
1289
+ # @!attribute [rw] compression_format
1290
+ # The compression format. If no value is specified, the default is
1291
+ # `NOCOMPRESSION`.
1292
+ # @return [String]
1293
+ #
1294
+ # @!attribute [rw] encryption_configuration
1295
+ # The encryption configuration. If no value is specified, the default
1296
+ # is no encryption.
1297
+ # @return [Types::EncryptionConfiguration]
1298
+ #
1299
+ # @!attribute [rw] cloud_watch_logging_options
1300
+ # Describes CloudWatch logging options for your delivery stream.
1301
+ # @return [Types::CloudWatchLoggingOptions]
1302
+ class S3DestinationDescription < Struct.new(
1303
+ :role_arn,
1304
+ :bucket_arn,
1305
+ :prefix,
1306
+ :buffering_hints,
1307
+ :compression_format,
1308
+ :encryption_configuration,
1309
+ :cloud_watch_logging_options)
1310
+ include Aws::Structure
1311
+ end
1312
+
1313
+ # Describes an update for a destination in Amazon S3.
1314
+ # @note When making an API call, pass S3DestinationUpdate
1315
+ # data as a hash:
1316
+ #
1317
+ # {
1318
+ # role_arn: "RoleARN",
1319
+ # bucket_arn: "BucketARN",
1320
+ # prefix: "Prefix",
1321
+ # buffering_hints: {
1322
+ # size_in_m_bs: 1,
1323
+ # interval_in_seconds: 1,
1324
+ # },
1325
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
1326
+ # encryption_configuration: {
1327
+ # no_encryption_config: "NoEncryption", # accepts NoEncryption
1328
+ # kms_encryption_config: {
1329
+ # awskms_key_arn: "AWSKMSKeyARN", # required
1330
+ # },
1331
+ # },
1332
+ # cloud_watch_logging_options: {
1333
+ # enabled: false,
1334
+ # log_group_name: "LogGroupName",
1335
+ # log_stream_name: "LogStreamName",
1336
+ # },
1337
+ # }
1338
+ # @!attribute [rw] role_arn
1339
+ # The ARN of the AWS credentials.
1340
+ # @return [String]
1341
+ #
1342
+ # @!attribute [rw] bucket_arn
1343
+ # The ARN of the S3 bucket.
1344
+ # @return [String]
1345
+ #
1346
+ # @!attribute [rw] prefix
1347
+ # The "YYYY/MM/DD/HH" time format prefix is automatically used for
1348
+ # delivered S3 files. You can specify an extra prefix to be added in
1349
+ # front of the time format prefix. Note that if the prefix ends with a
1350
+ # slash, it appears as a folder in the S3 bucket. For more
1351
+ # information, see [Amazon S3 Object Name Format][1] in the [Amazon
1352
+ # Kinesis Firehose Developer Guide][2].
1353
+ #
1354
+ #
1355
+ #
1356
+ # [1]: http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html
1357
+ # [2]: http://docs.aws.amazon.com/firehose/latest/dev/
1358
+ # @return [String]
1359
+ #
1360
+ # @!attribute [rw] buffering_hints
1361
+ # The buffering option. If no value is specified, **BufferingHints**
1362
+ # object default values are used.
1363
+ # @return [Types::BufferingHints]
1364
+ #
1365
+ # @!attribute [rw] compression_format
1366
+ # The compression format. If no value is specified, the default is
1367
+ # `NOCOMPRESSION`.
1368
+ #
1369
+ # The compression formats `SNAPPY` or `ZIP` cannot be specified for
1370
+ # Amazon Redshift destinations because they are not supported by the
1371
+ # Amazon Redshift `COPY` operation that reads from the S3 bucket.
1372
+ # @return [String]
1373
+ #
1374
+ # @!attribute [rw] encryption_configuration
1375
+ # The encryption configuration. If no value is specified, the default
1376
+ # is no encryption.
1377
+ # @return [Types::EncryptionConfiguration]
1378
+ #
1379
+ # @!attribute [rw] cloud_watch_logging_options
1380
+ # Describes CloudWatch logging options for your delivery stream.
1381
+ # @return [Types::CloudWatchLoggingOptions]
1382
+ class S3DestinationUpdate < Struct.new(
1383
+ :role_arn,
1384
+ :bucket_arn,
1385
+ :prefix,
1386
+ :buffering_hints,
1387
+ :compression_format,
1388
+ :encryption_configuration,
1389
+ :cloud_watch_logging_options)
1390
+ include Aws::Structure
1391
+ end
1392
+
1393
+ # Contains the parameters for UpdateDestination.
1394
+ # @note When making an API call, pass UpdateDestinationInput
1395
+ # data as a hash:
1396
+ #
1397
+ # {
1398
+ # delivery_stream_name: "DeliveryStreamName", # required
1399
+ # current_delivery_stream_version_id: "DeliveryStreamVersionId", # required
1400
+ # destination_id: "DestinationId", # required
1401
+ # s3_destination_update: {
1402
+ # role_arn: "RoleARN",
1403
+ # bucket_arn: "BucketARN",
1404
+ # prefix: "Prefix",
1405
+ # buffering_hints: {
1406
+ # size_in_m_bs: 1,
1407
+ # interval_in_seconds: 1,
1408
+ # },
1409
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
1410
+ # encryption_configuration: {
1411
+ # no_encryption_config: "NoEncryption", # accepts NoEncryption
1412
+ # kms_encryption_config: {
1413
+ # awskms_key_arn: "AWSKMSKeyARN", # required
1414
+ # },
1415
+ # },
1416
+ # cloud_watch_logging_options: {
1417
+ # enabled: false,
1418
+ # log_group_name: "LogGroupName",
1419
+ # log_stream_name: "LogStreamName",
1420
+ # },
1421
+ # },
1422
+ # redshift_destination_update: {
1423
+ # role_arn: "RoleARN",
1424
+ # cluster_jdbcurl: "ClusterJDBCURL",
1425
+ # copy_command: {
1426
+ # data_table_name: "DataTableName", # required
1427
+ # data_table_columns: "DataTableColumns",
1428
+ # copy_options: "CopyOptions",
1429
+ # },
1430
+ # username: "Username",
1431
+ # password: "Password",
1432
+ # retry_options: {
1433
+ # duration_in_seconds: 1,
1434
+ # },
1435
+ # s3_update: {
1436
+ # role_arn: "RoleARN",
1437
+ # bucket_arn: "BucketARN",
1438
+ # prefix: "Prefix",
1439
+ # buffering_hints: {
1440
+ # size_in_m_bs: 1,
1441
+ # interval_in_seconds: 1,
1442
+ # },
1443
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
1444
+ # encryption_configuration: {
1445
+ # no_encryption_config: "NoEncryption", # accepts NoEncryption
1446
+ # kms_encryption_config: {
1447
+ # awskms_key_arn: "AWSKMSKeyARN", # required
1448
+ # },
1449
+ # },
1450
+ # cloud_watch_logging_options: {
1451
+ # enabled: false,
1452
+ # log_group_name: "LogGroupName",
1453
+ # log_stream_name: "LogStreamName",
1454
+ # },
1455
+ # },
1456
+ # cloud_watch_logging_options: {
1457
+ # enabled: false,
1458
+ # log_group_name: "LogGroupName",
1459
+ # log_stream_name: "LogStreamName",
1460
+ # },
1461
+ # },
1462
+ # elasticsearch_destination_update: {
1463
+ # role_arn: "RoleARN",
1464
+ # domain_arn: "ElasticsearchDomainARN",
1465
+ # index_name: "ElasticsearchIndexName",
1466
+ # type_name: "ElasticsearchTypeName",
1467
+ # index_rotation_period: "NoRotation", # accepts NoRotation, OneHour, OneDay, OneWeek, OneMonth
1468
+ # buffering_hints: {
1469
+ # interval_in_seconds: 1,
1470
+ # size_in_m_bs: 1,
1471
+ # },
1472
+ # retry_options: {
1473
+ # duration_in_seconds: 1,
1474
+ # },
1475
+ # s3_update: {
1476
+ # role_arn: "RoleARN",
1477
+ # bucket_arn: "BucketARN",
1478
+ # prefix: "Prefix",
1479
+ # buffering_hints: {
1480
+ # size_in_m_bs: 1,
1481
+ # interval_in_seconds: 1,
1482
+ # },
1483
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
1484
+ # encryption_configuration: {
1485
+ # no_encryption_config: "NoEncryption", # accepts NoEncryption
1486
+ # kms_encryption_config: {
1487
+ # awskms_key_arn: "AWSKMSKeyARN", # required
1488
+ # },
1489
+ # },
1490
+ # cloud_watch_logging_options: {
1491
+ # enabled: false,
1492
+ # log_group_name: "LogGroupName",
1493
+ # log_stream_name: "LogStreamName",
1494
+ # },
1495
+ # },
1496
+ # cloud_watch_logging_options: {
1497
+ # enabled: false,
1498
+ # log_group_name: "LogGroupName",
1499
+ # log_stream_name: "LogStreamName",
1500
+ # },
1501
+ # },
1502
+ # }
1503
+ # @!attribute [rw] delivery_stream_name
1504
+ # The name of the delivery stream.
1505
+ # @return [String]
1506
+ #
1507
+ # @!attribute [rw] current_delivery_stream_version_id
1508
+ # Obtain this value from the **VersionId** result of the
1509
+ # DeliveryStreamDescription operation. This value is required, and
1510
+ # helps the service to perform conditional operations. For example, if
1511
+ # there is a interleaving update and this value is null, then the
1512
+ # update destination fails. After the update is successful, the
1513
+ # **VersionId** value is updated. The service then performs a merge of
1514
+ # the old configuration with the new configuration.
1515
+ # @return [String]
1516
+ #
1517
+ # @!attribute [rw] destination_id
1518
+ # The ID of the destination.
1519
+ # @return [String]
1520
+ #
1521
+ # @!attribute [rw] s3_destination_update
1522
+ # Describes an update for a destination in Amazon S3.
1523
+ # @return [Types::S3DestinationUpdate]
1524
+ #
1525
+ # @!attribute [rw] redshift_destination_update
1526
+ # Describes an update for a destination in Amazon Redshift.
1527
+ # @return [Types::RedshiftDestinationUpdate]
1528
+ #
1529
+ # @!attribute [rw] elasticsearch_destination_update
1530
+ # Describes an update for a destination in Amazon ES.
1531
+ # @return [Types::ElasticsearchDestinationUpdate]
1532
+ class UpdateDestinationInput < Struct.new(
1533
+ :delivery_stream_name,
1534
+ :current_delivery_stream_version_id,
1535
+ :destination_id,
1536
+ :s3_destination_update,
1537
+ :redshift_destination_update,
1538
+ :elasticsearch_destination_update)
1539
+ include Aws::Structure
1540
+ end
1541
+
1542
+ # Contains the output of UpdateDestination.
1543
+ class UpdateDestinationOutput < Aws::EmptyStructure; end
1544
+
1545
+ end
1546
+ end
1547
+ end