aws-sdk-firehose 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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