aws-sdk-firehose 1.23.0 → 1.28.0

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.
@@ -35,7 +35,9 @@ module Aws::Firehose
35
35
  DeliveryStreamARN = Shapes::StringShape.new(name: 'DeliveryStreamARN')
36
36
  DeliveryStreamDescription = Shapes::StructureShape.new(name: 'DeliveryStreamDescription')
37
37
  DeliveryStreamEncryptionConfiguration = Shapes::StructureShape.new(name: 'DeliveryStreamEncryptionConfiguration')
38
+ DeliveryStreamEncryptionConfigurationInput = Shapes::StructureShape.new(name: 'DeliveryStreamEncryptionConfigurationInput')
38
39
  DeliveryStreamEncryptionStatus = Shapes::StringShape.new(name: 'DeliveryStreamEncryptionStatus')
40
+ DeliveryStreamFailureType = Shapes::StringShape.new(name: 'DeliveryStreamFailureType')
39
41
  DeliveryStreamName = Shapes::StringShape.new(name: 'DeliveryStreamName')
40
42
  DeliveryStreamNameList = Shapes::ListShape.new(name: 'DeliveryStreamNameList')
41
43
  DeliveryStreamStatus = Shapes::StringShape.new(name: 'DeliveryStreamStatus')
@@ -69,6 +71,7 @@ module Aws::Firehose
69
71
  ExtendedS3DestinationConfiguration = Shapes::StructureShape.new(name: 'ExtendedS3DestinationConfiguration')
70
72
  ExtendedS3DestinationDescription = Shapes::StructureShape.new(name: 'ExtendedS3DestinationDescription')
71
73
  ExtendedS3DestinationUpdate = Shapes::StructureShape.new(name: 'ExtendedS3DestinationUpdate')
74
+ FailureDescription = Shapes::StructureShape.new(name: 'FailureDescription')
72
75
  HECAcknowledgmentTimeoutInSeconds = Shapes::IntegerShape.new(name: 'HECAcknowledgmentTimeoutInSeconds')
73
76
  HECEndpoint = Shapes::StringShape.new(name: 'HECEndpoint')
74
77
  HECEndpointType = Shapes::StringShape.new(name: 'HECEndpointType')
@@ -77,7 +80,9 @@ module Aws::Firehose
77
80
  InputFormatConfiguration = Shapes::StructureShape.new(name: 'InputFormatConfiguration')
78
81
  IntervalInSeconds = Shapes::IntegerShape.new(name: 'IntervalInSeconds')
79
82
  InvalidArgumentException = Shapes::StructureShape.new(name: 'InvalidArgumentException')
83
+ InvalidKMSResourceException = Shapes::StructureShape.new(name: 'InvalidKMSResourceException')
80
84
  KMSEncryptionConfig = Shapes::StructureShape.new(name: 'KMSEncryptionConfig')
85
+ KeyType = Shapes::StringShape.new(name: 'KeyType')
81
86
  KinesisStreamARN = Shapes::StringShape.new(name: 'KinesisStreamARN')
82
87
  KinesisStreamSourceConfiguration = Shapes::StructureShape.new(name: 'KinesisStreamSourceConfiguration')
83
88
  KinesisStreamSourceDescription = Shapes::StructureShape.new(name: 'KinesisStreamSourceDescription')
@@ -142,6 +147,7 @@ module Aws::Firehose
142
147
  S3DestinationDescription = Shapes::StructureShape.new(name: 'S3DestinationDescription')
143
148
  S3DestinationUpdate = Shapes::StructureShape.new(name: 'S3DestinationUpdate')
144
149
  SchemaConfiguration = Shapes::StructureShape.new(name: 'SchemaConfiguration')
150
+ SecurityGroupIdList = Shapes::ListShape.new(name: 'SecurityGroupIdList')
145
151
  Serializer = Shapes::StructureShape.new(name: 'Serializer')
146
152
  ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
147
153
  SizeInMBs = Shapes::IntegerShape.new(name: 'SizeInMBs')
@@ -156,6 +162,7 @@ module Aws::Firehose
156
162
  StartDeliveryStreamEncryptionOutput = Shapes::StructureShape.new(name: 'StartDeliveryStreamEncryptionOutput')
157
163
  StopDeliveryStreamEncryptionInput = Shapes::StructureShape.new(name: 'StopDeliveryStreamEncryptionInput')
158
164
  StopDeliveryStreamEncryptionOutput = Shapes::StructureShape.new(name: 'StopDeliveryStreamEncryptionOutput')
165
+ SubnetIdList = Shapes::ListShape.new(name: 'SubnetIdList')
159
166
  Tag = Shapes::StructureShape.new(name: 'Tag')
160
167
  TagDeliveryStreamInput = Shapes::StructureShape.new(name: 'TagDeliveryStreamInput')
161
168
  TagDeliveryStreamInputTagList = Shapes::ListShape.new(name: 'TagDeliveryStreamInputTagList')
@@ -169,6 +176,8 @@ module Aws::Firehose
169
176
  UpdateDestinationInput = Shapes::StructureShape.new(name: 'UpdateDestinationInput')
170
177
  UpdateDestinationOutput = Shapes::StructureShape.new(name: 'UpdateDestinationOutput')
171
178
  Username = Shapes::StringShape.new(name: 'Username')
179
+ VpcConfiguration = Shapes::StructureShape.new(name: 'VpcConfiguration')
180
+ VpcConfigurationDescription = Shapes::StructureShape.new(name: 'VpcConfigurationDescription')
172
181
 
173
182
  BufferingHints.add_member(:size_in_m_bs, Shapes::ShapeRef.new(shape: SizeInMBs, location_name: "SizeInMBs"))
174
183
  BufferingHints.add_member(:interval_in_seconds, Shapes::ShapeRef.new(shape: IntervalInSeconds, location_name: "IntervalInSeconds"))
@@ -193,6 +202,7 @@ module Aws::Firehose
193
202
  CreateDeliveryStreamInput.add_member(:delivery_stream_name, Shapes::ShapeRef.new(shape: DeliveryStreamName, required: true, location_name: "DeliveryStreamName"))
194
203
  CreateDeliveryStreamInput.add_member(:delivery_stream_type, Shapes::ShapeRef.new(shape: DeliveryStreamType, location_name: "DeliveryStreamType"))
195
204
  CreateDeliveryStreamInput.add_member(:kinesis_stream_source_configuration, Shapes::ShapeRef.new(shape: KinesisStreamSourceConfiguration, location_name: "KinesisStreamSourceConfiguration"))
205
+ CreateDeliveryStreamInput.add_member(:delivery_stream_encryption_configuration_input, Shapes::ShapeRef.new(shape: DeliveryStreamEncryptionConfigurationInput, location_name: "DeliveryStreamEncryptionConfigurationInput"))
196
206
  CreateDeliveryStreamInput.add_member(:s3_destination_configuration, Shapes::ShapeRef.new(shape: S3DestinationConfiguration, deprecated: true, location_name: "S3DestinationConfiguration"))
197
207
  CreateDeliveryStreamInput.add_member(:extended_s3_destination_configuration, Shapes::ShapeRef.new(shape: ExtendedS3DestinationConfiguration, location_name: "ExtendedS3DestinationConfiguration"))
198
208
  CreateDeliveryStreamInput.add_member(:redshift_destination_configuration, Shapes::ShapeRef.new(shape: RedshiftDestinationConfiguration, location_name: "RedshiftDestinationConfiguration"))
@@ -211,6 +221,7 @@ module Aws::Firehose
211
221
  DataFormatConversionConfiguration.struct_class = Types::DataFormatConversionConfiguration
212
222
 
213
223
  DeleteDeliveryStreamInput.add_member(:delivery_stream_name, Shapes::ShapeRef.new(shape: DeliveryStreamName, required: true, location_name: "DeliveryStreamName"))
224
+ DeleteDeliveryStreamInput.add_member(:allow_force_delete, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "AllowForceDelete"))
214
225
  DeleteDeliveryStreamInput.struct_class = Types::DeleteDeliveryStreamInput
215
226
 
216
227
  DeleteDeliveryStreamOutput.struct_class = Types::DeleteDeliveryStreamOutput
@@ -218,6 +229,7 @@ module Aws::Firehose
218
229
  DeliveryStreamDescription.add_member(:delivery_stream_name, Shapes::ShapeRef.new(shape: DeliveryStreamName, required: true, location_name: "DeliveryStreamName"))
219
230
  DeliveryStreamDescription.add_member(:delivery_stream_arn, Shapes::ShapeRef.new(shape: DeliveryStreamARN, required: true, location_name: "DeliveryStreamARN"))
220
231
  DeliveryStreamDescription.add_member(:delivery_stream_status, Shapes::ShapeRef.new(shape: DeliveryStreamStatus, required: true, location_name: "DeliveryStreamStatus"))
232
+ DeliveryStreamDescription.add_member(:failure_description, Shapes::ShapeRef.new(shape: FailureDescription, location_name: "FailureDescription"))
221
233
  DeliveryStreamDescription.add_member(:delivery_stream_encryption_configuration, Shapes::ShapeRef.new(shape: DeliveryStreamEncryptionConfiguration, location_name: "DeliveryStreamEncryptionConfiguration"))
222
234
  DeliveryStreamDescription.add_member(:delivery_stream_type, Shapes::ShapeRef.new(shape: DeliveryStreamType, required: true, location_name: "DeliveryStreamType"))
223
235
  DeliveryStreamDescription.add_member(:version_id, Shapes::ShapeRef.new(shape: DeliveryStreamVersionId, required: true, location_name: "VersionId"))
@@ -228,9 +240,16 @@ module Aws::Firehose
228
240
  DeliveryStreamDescription.add_member(:has_more_destinations, Shapes::ShapeRef.new(shape: BooleanObject, required: true, location_name: "HasMoreDestinations"))
229
241
  DeliveryStreamDescription.struct_class = Types::DeliveryStreamDescription
230
242
 
243
+ DeliveryStreamEncryptionConfiguration.add_member(:key_arn, Shapes::ShapeRef.new(shape: AWSKMSKeyARN, location_name: "KeyARN"))
244
+ DeliveryStreamEncryptionConfiguration.add_member(:key_type, Shapes::ShapeRef.new(shape: KeyType, location_name: "KeyType"))
231
245
  DeliveryStreamEncryptionConfiguration.add_member(:status, Shapes::ShapeRef.new(shape: DeliveryStreamEncryptionStatus, location_name: "Status"))
246
+ DeliveryStreamEncryptionConfiguration.add_member(:failure_description, Shapes::ShapeRef.new(shape: FailureDescription, location_name: "FailureDescription"))
232
247
  DeliveryStreamEncryptionConfiguration.struct_class = Types::DeliveryStreamEncryptionConfiguration
233
248
 
249
+ DeliveryStreamEncryptionConfigurationInput.add_member(:key_arn, Shapes::ShapeRef.new(shape: AWSKMSKeyARN, location_name: "KeyARN"))
250
+ DeliveryStreamEncryptionConfigurationInput.add_member(:key_type, Shapes::ShapeRef.new(shape: KeyType, required: true, location_name: "KeyType"))
251
+ DeliveryStreamEncryptionConfigurationInput.struct_class = Types::DeliveryStreamEncryptionConfigurationInput
252
+
234
253
  DeliveryStreamNameList.member = Shapes::ShapeRef.new(shape: DeliveryStreamName)
235
254
 
236
255
  DescribeDeliveryStreamInput.add_member(:delivery_stream_name, Shapes::ShapeRef.new(shape: DeliveryStreamName, required: true, location_name: "DeliveryStreamName"))
@@ -271,6 +290,7 @@ module Aws::Firehose
271
290
  ElasticsearchDestinationConfiguration.add_member(:s3_configuration, Shapes::ShapeRef.new(shape: S3DestinationConfiguration, required: true, location_name: "S3Configuration"))
272
291
  ElasticsearchDestinationConfiguration.add_member(:processing_configuration, Shapes::ShapeRef.new(shape: ProcessingConfiguration, location_name: "ProcessingConfiguration"))
273
292
  ElasticsearchDestinationConfiguration.add_member(:cloud_watch_logging_options, Shapes::ShapeRef.new(shape: CloudWatchLoggingOptions, location_name: "CloudWatchLoggingOptions"))
293
+ ElasticsearchDestinationConfiguration.add_member(:vpc_configuration, Shapes::ShapeRef.new(shape: VpcConfiguration, location_name: "VpcConfiguration"))
274
294
  ElasticsearchDestinationConfiguration.struct_class = Types::ElasticsearchDestinationConfiguration
275
295
 
276
296
  ElasticsearchDestinationDescription.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleARN, location_name: "RoleARN"))
@@ -285,6 +305,7 @@ module Aws::Firehose
285
305
  ElasticsearchDestinationDescription.add_member(:s3_destination_description, Shapes::ShapeRef.new(shape: S3DestinationDescription, location_name: "S3DestinationDescription"))
286
306
  ElasticsearchDestinationDescription.add_member(:processing_configuration, Shapes::ShapeRef.new(shape: ProcessingConfiguration, location_name: "ProcessingConfiguration"))
287
307
  ElasticsearchDestinationDescription.add_member(:cloud_watch_logging_options, Shapes::ShapeRef.new(shape: CloudWatchLoggingOptions, location_name: "CloudWatchLoggingOptions"))
308
+ ElasticsearchDestinationDescription.add_member(:vpc_configuration_description, Shapes::ShapeRef.new(shape: VpcConfigurationDescription, location_name: "VpcConfigurationDescription"))
288
309
  ElasticsearchDestinationDescription.struct_class = Types::ElasticsearchDestinationDescription
289
310
 
290
311
  ElasticsearchDestinationUpdate.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleARN, location_name: "RoleARN"))
@@ -349,6 +370,10 @@ module Aws::Firehose
349
370
  ExtendedS3DestinationUpdate.add_member(:data_format_conversion_configuration, Shapes::ShapeRef.new(shape: DataFormatConversionConfiguration, location_name: "DataFormatConversionConfiguration"))
350
371
  ExtendedS3DestinationUpdate.struct_class = Types::ExtendedS3DestinationUpdate
351
372
 
373
+ FailureDescription.add_member(:type, Shapes::ShapeRef.new(shape: DeliveryStreamFailureType, required: true, location_name: "Type"))
374
+ FailureDescription.add_member(:details, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Details"))
375
+ FailureDescription.struct_class = Types::FailureDescription
376
+
352
377
  HiveJsonSerDe.add_member(:timestamp_formats, Shapes::ShapeRef.new(shape: ListOfNonEmptyStrings, location_name: "TimestampFormats"))
353
378
  HiveJsonSerDe.struct_class = Types::HiveJsonSerDe
354
379
 
@@ -358,6 +383,10 @@ module Aws::Firehose
358
383
  InvalidArgumentException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
359
384
  InvalidArgumentException.struct_class = Types::InvalidArgumentException
360
385
 
386
+ InvalidKMSResourceException.add_member(:code, Shapes::ShapeRef.new(shape: ErrorCode, location_name: "code"))
387
+ InvalidKMSResourceException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
388
+ InvalidKMSResourceException.struct_class = Types::InvalidKMSResourceException
389
+
361
390
  KMSEncryptionConfig.add_member(:awskms_key_arn, Shapes::ShapeRef.new(shape: AWSKMSKeyARN, required: true, location_name: "AWSKMSKeyARN"))
362
391
  KMSEncryptionConfig.struct_class = Types::KMSEncryptionConfig
363
392
 
@@ -555,6 +584,8 @@ module Aws::Firehose
555
584
  SchemaConfiguration.add_member(:version_id, Shapes::ShapeRef.new(shape: NonEmptyStringWithoutWhitespace, location_name: "VersionId"))
556
585
  SchemaConfiguration.struct_class = Types::SchemaConfiguration
557
586
 
587
+ SecurityGroupIdList.member = Shapes::ShapeRef.new(shape: NonEmptyStringWithoutWhitespace)
588
+
558
589
  Serializer.add_member(:parquet_ser_de, Shapes::ShapeRef.new(shape: ParquetSerDe, location_name: "ParquetSerDe"))
559
590
  Serializer.add_member(:orc_ser_de, Shapes::ShapeRef.new(shape: OrcSerDe, location_name: "OrcSerDe"))
560
591
  Serializer.struct_class = Types::Serializer
@@ -602,6 +633,7 @@ module Aws::Firehose
602
633
  SplunkRetryOptions.struct_class = Types::SplunkRetryOptions
603
634
 
604
635
  StartDeliveryStreamEncryptionInput.add_member(:delivery_stream_name, Shapes::ShapeRef.new(shape: DeliveryStreamName, required: true, location_name: "DeliveryStreamName"))
636
+ StartDeliveryStreamEncryptionInput.add_member(:delivery_stream_encryption_configuration_input, Shapes::ShapeRef.new(shape: DeliveryStreamEncryptionConfigurationInput, location_name: "DeliveryStreamEncryptionConfigurationInput"))
605
637
  StartDeliveryStreamEncryptionInput.struct_class = Types::StartDeliveryStreamEncryptionInput
606
638
 
607
639
  StartDeliveryStreamEncryptionOutput.struct_class = Types::StartDeliveryStreamEncryptionOutput
@@ -611,6 +643,8 @@ module Aws::Firehose
611
643
 
612
644
  StopDeliveryStreamEncryptionOutput.struct_class = Types::StopDeliveryStreamEncryptionOutput
613
645
 
646
+ SubnetIdList.member = Shapes::ShapeRef.new(shape: NonEmptyStringWithoutWhitespace)
647
+
614
648
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
615
649
  Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, location_name: "Value"))
616
650
  Tag.struct_class = Types::Tag
@@ -643,6 +677,17 @@ module Aws::Firehose
643
677
 
644
678
  UpdateDestinationOutput.struct_class = Types::UpdateDestinationOutput
645
679
 
680
+ VpcConfiguration.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, required: true, location_name: "SubnetIds"))
681
+ VpcConfiguration.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleARN, required: true, location_name: "RoleARN"))
682
+ VpcConfiguration.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: SecurityGroupIdList, required: true, location_name: "SecurityGroupIds"))
683
+ VpcConfiguration.struct_class = Types::VpcConfiguration
684
+
685
+ VpcConfigurationDescription.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, required: true, location_name: "SubnetIds"))
686
+ VpcConfigurationDescription.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleARN, required: true, location_name: "RoleARN"))
687
+ VpcConfigurationDescription.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: SecurityGroupIdList, required: true, location_name: "SecurityGroupIds"))
688
+ VpcConfigurationDescription.add_member(:vpc_id, Shapes::ShapeRef.new(shape: NonEmptyStringWithoutWhitespace, required: true, location_name: "VpcId"))
689
+ VpcConfigurationDescription.struct_class = Types::VpcConfigurationDescription
690
+
646
691
 
647
692
  # @api private
648
693
  API = Seahorse::Model::Api.new.tap do |api|
@@ -671,6 +716,7 @@ module Aws::Firehose
671
716
  o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
672
717
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
673
718
  o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
719
+ o.errors << Shapes::ShapeRef.new(shape: InvalidKMSResourceException)
674
720
  end)
675
721
 
676
722
  api.add_operation(:delete_delivery_stream, Seahorse::Model::Operation.new.tap do |o|
@@ -719,6 +765,7 @@ module Aws::Firehose
719
765
  o.output = Shapes::ShapeRef.new(shape: PutRecordOutput)
720
766
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
721
767
  o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
768
+ o.errors << Shapes::ShapeRef.new(shape: InvalidKMSResourceException)
722
769
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
723
770
  end)
724
771
 
@@ -730,6 +777,7 @@ module Aws::Firehose
730
777
  o.output = Shapes::ShapeRef.new(shape: PutRecordBatchOutput)
731
778
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
732
779
  o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
780
+ o.errors << Shapes::ShapeRef.new(shape: InvalidKMSResourceException)
733
781
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
734
782
  end)
735
783
 
@@ -743,6 +791,7 @@ module Aws::Firehose
743
791
  o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
744
792
  o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
745
793
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
794
+ o.errors << Shapes::ShapeRef.new(shape: InvalidKMSResourceException)
746
795
  end)
747
796
 
748
797
  api.add_operation(:stop_delivery_stream_encryption, Seahorse::Model::Operation.new.tap do |o|
@@ -6,6 +6,35 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::Firehose
9
+
10
+ # When Firehose returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::Firehose::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all Firehose errors using ServiceError:
14
+ #
15
+ # begin
16
+ # # do stuff
17
+ # rescue Aws::Firehose::Errors::ServiceError
18
+ # # rescues all Firehose API errors
19
+ # end
20
+ #
21
+ #
22
+ # ## Request Context
23
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
24
+ # information about the request that generated the error.
25
+ # See {Seahorse::Client::RequestContext} for more information.
26
+ #
27
+ # ## Error Classes
28
+ # * {ConcurrentModificationException}
29
+ # * {InvalidArgumentException}
30
+ # * {InvalidKMSResourceException}
31
+ # * {LimitExceededException}
32
+ # * {ResourceInUseException}
33
+ # * {ResourceNotFoundException}
34
+ # * {ServiceUnavailableException}
35
+ #
36
+ # Additionally, error classes are dynamically generated for service errors based on the error code
37
+ # if they are not defined above.
9
38
  module Errors
10
39
 
11
40
  extend Aws::Errors::DynamicErrors
@@ -23,7 +52,6 @@ module Aws::Firehose
23
52
  def message
24
53
  @message || @data[:message]
25
54
  end
26
-
27
55
  end
28
56
 
29
57
  class InvalidArgumentException < ServiceError
@@ -39,7 +67,26 @@ module Aws::Firehose
39
67
  def message
40
68
  @message || @data[:message]
41
69
  end
70
+ end
42
71
 
72
+ class InvalidKMSResourceException < ServiceError
73
+
74
+ # @param [Seahorse::Client::RequestContext] context
75
+ # @param [String] message
76
+ # @param [Aws::Firehose::Types::InvalidKMSResourceException] data
77
+ def initialize(context, message, data = Aws::EmptyStructure.new)
78
+ super(context, message, data)
79
+ end
80
+
81
+ # @return [String]
82
+ def code
83
+ @code || @data[:code]
84
+ end
85
+
86
+ # @return [String]
87
+ def message
88
+ @message || @data[:message]
89
+ end
43
90
  end
44
91
 
45
92
  class LimitExceededException < ServiceError
@@ -55,7 +102,6 @@ module Aws::Firehose
55
102
  def message
56
103
  @message || @data[:message]
57
104
  end
58
-
59
105
  end
60
106
 
61
107
  class ResourceInUseException < ServiceError
@@ -71,7 +117,6 @@ module Aws::Firehose
71
117
  def message
72
118
  @message || @data[:message]
73
119
  end
74
-
75
120
  end
76
121
 
77
122
  class ResourceNotFoundException < ServiceError
@@ -87,7 +132,6 @@ module Aws::Firehose
87
132
  def message
88
133
  @message || @data[:message]
89
134
  end
90
-
91
135
  end
92
136
 
93
137
  class ServiceUnavailableException < ServiceError
@@ -103,7 +147,6 @@ module Aws::Firehose
103
147
  def message
104
148
  @message || @data[:message]
105
149
  end
106
-
107
150
  end
108
151
 
109
152
  end
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::Firehose
9
+
9
10
  class Resource
10
11
 
11
12
  # @param options ({})
@@ -168,6 +168,10 @@ module Aws::Firehose
168
168
  # kinesis_stream_arn: "KinesisStreamARN", # required
169
169
  # role_arn: "RoleARN", # required
170
170
  # },
171
+ # delivery_stream_encryption_configuration_input: {
172
+ # key_arn: "AWSKMSKeyARN",
173
+ # key_type: "AWS_OWNED_CMK", # required, accepts AWS_OWNED_CMK, CUSTOMER_MANAGED_CMK
174
+ # },
171
175
  # s3_destination_configuration: {
172
176
  # role_arn: "RoleARN", # required
173
177
  # bucket_arn: "BucketARN", # required
@@ -177,7 +181,7 @@ module Aws::Firehose
177
181
  # size_in_m_bs: 1,
178
182
  # interval_in_seconds: 1,
179
183
  # },
180
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
184
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
181
185
  # encryption_configuration: {
182
186
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
183
187
  # kms_encryption_config: {
@@ -199,7 +203,7 @@ module Aws::Firehose
199
203
  # size_in_m_bs: 1,
200
204
  # interval_in_seconds: 1,
201
205
  # },
202
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
206
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
203
207
  # encryption_configuration: {
204
208
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
205
209
  # kms_encryption_config: {
@@ -235,7 +239,7 @@ module Aws::Firehose
235
239
  # size_in_m_bs: 1,
236
240
  # interval_in_seconds: 1,
237
241
  # },
238
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
242
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
239
243
  # encryption_configuration: {
240
244
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
241
245
  # kms_encryption_config: {
@@ -320,7 +324,7 @@ module Aws::Firehose
320
324
  # size_in_m_bs: 1,
321
325
  # interval_in_seconds: 1,
322
326
  # },
323
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
327
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
324
328
  # encryption_configuration: {
325
329
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
326
330
  # kms_encryption_config: {
@@ -357,7 +361,7 @@ module Aws::Firehose
357
361
  # size_in_m_bs: 1,
358
362
  # interval_in_seconds: 1,
359
363
  # },
360
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
364
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
361
365
  # encryption_configuration: {
362
366
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
363
367
  # kms_encryption_config: {
@@ -400,7 +404,7 @@ module Aws::Firehose
400
404
  # size_in_m_bs: 1,
401
405
  # interval_in_seconds: 1,
402
406
  # },
403
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
407
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
404
408
  # encryption_configuration: {
405
409
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
406
410
  # kms_encryption_config: {
@@ -432,6 +436,11 @@ module Aws::Firehose
432
436
  # log_group_name: "LogGroupName",
433
437
  # log_stream_name: "LogStreamName",
434
438
  # },
439
+ # vpc_configuration: {
440
+ # subnet_ids: ["NonEmptyStringWithoutWhitespace"], # required
441
+ # role_arn: "RoleARN", # required
442
+ # security_group_ids: ["NonEmptyStringWithoutWhitespace"], # required
443
+ # },
435
444
  # },
436
445
  # splunk_destination_configuration: {
437
446
  # hec_endpoint: "HECEndpoint", # required
@@ -451,7 +460,7 @@ module Aws::Firehose
451
460
  # size_in_m_bs: 1,
452
461
  # interval_in_seconds: 1,
453
462
  # },
454
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
463
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
455
464
  # encryption_configuration: {
456
465
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
457
466
  # kms_encryption_config: {
@@ -517,6 +526,11 @@ module Aws::Firehose
517
526
  # source stream.
518
527
  # @return [Types::KinesisStreamSourceConfiguration]
519
528
  #
529
+ # @!attribute [rw] delivery_stream_encryption_configuration_input
530
+ # Used to specify the type and Amazon Resource Name (ARN) of the KMS
531
+ # key needed for Server-Side Encryption (SSE).
532
+ # @return [Types::DeliveryStreamEncryptionConfigurationInput]
533
+ #
520
534
  # @!attribute [rw] s3_destination_configuration
521
535
  # \[Deprecated\] The destination in Amazon S3. You can specify only
522
536
  # one destination.
@@ -561,6 +575,7 @@ module Aws::Firehose
561
575
  :delivery_stream_name,
562
576
  :delivery_stream_type,
563
577
  :kinesis_stream_source_configuration,
578
+ :delivery_stream_encryption_configuration_input,
564
579
  :s3_destination_configuration,
565
580
  :extended_s3_destination_configuration,
566
581
  :redshift_destination_configuration,
@@ -648,17 +663,19 @@ module Aws::Firehose
648
663
  #
649
664
  # @!attribute [rw] schema_configuration
650
665
  # Specifies the AWS Glue Data Catalog table that contains the column
651
- # information.
666
+ # information. This parameter is required if `Enabled` is set to true.
652
667
  # @return [Types::SchemaConfiguration]
653
668
  #
654
669
  # @!attribute [rw] input_format_configuration
655
670
  # Specifies the deserializer that you want Kinesis Data Firehose to
656
- # use to convert the format of your data from JSON.
671
+ # use to convert the format of your data from JSON. This parameter is
672
+ # required if `Enabled` is set to true.
657
673
  # @return [Types::InputFormatConfiguration]
658
674
  #
659
675
  # @!attribute [rw] output_format_configuration
660
676
  # Specifies the serializer that you want Kinesis Data Firehose to use
661
677
  # to convert the format of your data to the Parquet or ORC format.
678
+ # This parameter is required if `Enabled` is set to true.
662
679
  # @return [Types::OutputFormatConfiguration]
663
680
  #
664
681
  # @!attribute [rw] enabled
@@ -681,16 +698,35 @@ module Aws::Firehose
681
698
  #
682
699
  # {
683
700
  # delivery_stream_name: "DeliveryStreamName", # required
701
+ # allow_force_delete: false,
684
702
  # }
685
703
  #
686
704
  # @!attribute [rw] delivery_stream_name
687
705
  # The name of the delivery stream.
688
706
  # @return [String]
689
707
  #
708
+ # @!attribute [rw] allow_force_delete
709
+ # Set this to true if you want to delete the delivery stream even if
710
+ # Kinesis Data Firehose is unable to retire the grant for the CMK.
711
+ # Kinesis Data Firehose might be unable to retire the grant due to a
712
+ # customer error, such as when the CMK or the grant are in an invalid
713
+ # state. If you force deletion, you can then use the [RevokeGrant][1]
714
+ # operation to revoke the grant you gave to Kinesis Data Firehose. If
715
+ # a failure to retire the grant happens due to an AWS KMS issue,
716
+ # Kinesis Data Firehose keeps retrying the delete operation.
717
+ #
718
+ # The default value is false.
719
+ #
720
+ #
721
+ #
722
+ # [1]: https://docs.aws.amazon.com/kms/latest/APIReference/API_RevokeGrant.html
723
+ # @return [Boolean]
724
+ #
690
725
  # @see http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/DeleteDeliveryStreamInput AWS API Documentation
691
726
  #
692
727
  class DeleteDeliveryStreamInput < Struct.new(
693
- :delivery_stream_name)
728
+ :delivery_stream_name,
729
+ :allow_force_delete)
694
730
  include Aws::Structure
695
731
  end
696
732
 
@@ -715,9 +751,19 @@ module Aws::Firehose
715
751
  # @return [String]
716
752
  #
717
753
  # @!attribute [rw] delivery_stream_status
718
- # The status of the delivery stream.
754
+ # The status of the delivery stream. If the status of a delivery
755
+ # stream is `CREATING_FAILED`, this status doesn't change, and you
756
+ # can't invoke `CreateDeliveryStream` again on it. However, you can
757
+ # invoke the DeleteDeliveryStream operation to delete it.
719
758
  # @return [String]
720
759
  #
760
+ # @!attribute [rw] failure_description
761
+ # Provides details in case one of the following operations fails due
762
+ # to an error related to KMS: CreateDeliveryStream,
763
+ # DeleteDeliveryStream, StartDeliveryStreamEncryption,
764
+ # StopDeliveryStreamEncryption.
765
+ # @return [Types::FailureDescription]
766
+ #
721
767
  # @!attribute [rw] delivery_stream_encryption_configuration
722
768
  # Indicates the server-side encryption (SSE) status for the delivery
723
769
  # stream.
@@ -767,6 +813,7 @@ module Aws::Firehose
767
813
  :delivery_stream_name,
768
814
  :delivery_stream_arn,
769
815
  :delivery_stream_status,
816
+ :failure_description,
770
817
  :delivery_stream_encryption_configuration,
771
818
  :delivery_stream_type,
772
819
  :version_id,
@@ -778,18 +825,110 @@ module Aws::Firehose
778
825
  include Aws::Structure
779
826
  end
780
827
 
781
- # Indicates the server-side encryption (SSE) status for the delivery
782
- # stream.
828
+ # Contains information about the server-side encryption (SSE) status for
829
+ # the delivery stream, the type customer master key (CMK) in use, if
830
+ # any, and the ARN of the CMK. You can get
831
+ # `DeliveryStreamEncryptionConfiguration` by invoking the
832
+ # DescribeDeliveryStream operation.
833
+ #
834
+ # @!attribute [rw] key_arn
835
+ # If `KeyType` is `CUSTOMER_MANAGED_CMK`, this field contains the ARN
836
+ # of the customer managed CMK. If `KeyType` is `AWS_OWNED_CMK`,
837
+ # `DeliveryStreamEncryptionConfiguration` doesn't contain a value for
838
+ # `KeyARN`.
839
+ # @return [String]
840
+ #
841
+ # @!attribute [rw] key_type
842
+ # Indicates the type of customer master key (CMK) that is used for
843
+ # encryption. The default setting is `AWS_OWNED_CMK`. For more
844
+ # information about CMKs, see [Customer Master Keys (CMKs)][1].
845
+ #
846
+ #
847
+ #
848
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys
849
+ # @return [String]
783
850
  #
784
851
  # @!attribute [rw] status
785
- # For a full description of the different values of this status, see
786
- # StartDeliveryStreamEncryption and StopDeliveryStreamEncryption.
852
+ # This is the server-side encryption (SSE) status for the delivery
853
+ # stream. For a full description of the different values of this
854
+ # status, see StartDeliveryStreamEncryption and
855
+ # StopDeliveryStreamEncryption. If this status is `ENABLING_FAILED` or
856
+ # `DISABLING_FAILED`, it is the status of the most recent attempt to
857
+ # enable or disable SSE, respectively.
787
858
  # @return [String]
788
859
  #
860
+ # @!attribute [rw] failure_description
861
+ # Provides details in case one of the following operations fails due
862
+ # to an error related to KMS: CreateDeliveryStream,
863
+ # DeleteDeliveryStream, StartDeliveryStreamEncryption,
864
+ # StopDeliveryStreamEncryption.
865
+ # @return [Types::FailureDescription]
866
+ #
789
867
  # @see http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/DeliveryStreamEncryptionConfiguration AWS API Documentation
790
868
  #
791
869
  class DeliveryStreamEncryptionConfiguration < Struct.new(
792
- :status)
870
+ :key_arn,
871
+ :key_type,
872
+ :status,
873
+ :failure_description)
874
+ include Aws::Structure
875
+ end
876
+
877
+ # Specifies the type and Amazon Resource Name (ARN) of the CMK to use
878
+ # for Server-Side Encryption (SSE).
879
+ #
880
+ # @note When making an API call, you may pass DeliveryStreamEncryptionConfigurationInput
881
+ # data as a hash:
882
+ #
883
+ # {
884
+ # key_arn: "AWSKMSKeyARN",
885
+ # key_type: "AWS_OWNED_CMK", # required, accepts AWS_OWNED_CMK, CUSTOMER_MANAGED_CMK
886
+ # }
887
+ #
888
+ # @!attribute [rw] key_arn
889
+ # If you set `KeyType` to `CUSTOMER_MANAGED_CMK`, you must specify the
890
+ # Amazon Resource Name (ARN) of the CMK. If you set `KeyType` to
891
+ # `AWS_OWNED_CMK`, Kinesis Data Firehose uses a service-account CMK.
892
+ # @return [String]
893
+ #
894
+ # @!attribute [rw] key_type
895
+ # Indicates the type of customer master key (CMK) to use for
896
+ # encryption. The default setting is `AWS_OWNED_CMK`. For more
897
+ # information about CMKs, see [Customer Master Keys (CMKs)][1]. When
898
+ # you invoke CreateDeliveryStream or StartDeliveryStreamEncryption
899
+ # with `KeyType` set to CUSTOMER\_MANAGED\_CMK, Kinesis Data Firehose
900
+ # invokes the Amazon KMS operation [CreateGrant][2] to create a grant
901
+ # that allows the Kinesis Data Firehose service to use the customer
902
+ # managed CMK to perform encryption and decryption. Kinesis Data
903
+ # Firehose manages that grant.
904
+ #
905
+ # When you invoke StartDeliveryStreamEncryption to change the CMK for
906
+ # a delivery stream that is encrypted with a customer managed CMK,
907
+ # Kinesis Data Firehose schedules the grant it had on the old CMK for
908
+ # retirement.
909
+ #
910
+ # You can use a CMK of type CUSTOMER\_MANAGED\_CMK to encrypt up to
911
+ # 500 delivery streams. If a CreateDeliveryStream or
912
+ # StartDeliveryStreamEncryption operation exceeds this limit, Kinesis
913
+ # Data Firehose throws a `LimitExceededException`.
914
+ #
915
+ # To encrypt your delivery stream, use symmetric CMKs. Kinesis Data
916
+ # Firehose doesn't support asymmetric CMKs. For information about
917
+ # symmetric and asymmetric CMKs, see [About Symmetric and Asymmetric
918
+ # CMKs][3] in the AWS Key Management Service developer guide.
919
+ #
920
+ #
921
+ #
922
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys
923
+ # [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html
924
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html
925
+ # @return [String]
926
+ #
927
+ # @see http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/DeliveryStreamEncryptionConfigurationInput AWS API Documentation
928
+ #
929
+ class DeliveryStreamEncryptionConfigurationInput < Struct.new(
930
+ :key_arn,
931
+ :key_type)
793
932
  include Aws::Structure
794
933
  end
795
934
 
@@ -992,7 +1131,7 @@ module Aws::Firehose
992
1131
  # size_in_m_bs: 1,
993
1132
  # interval_in_seconds: 1,
994
1133
  # },
995
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
1134
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
996
1135
  # encryption_configuration: {
997
1136
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
998
1137
  # kms_encryption_config: {
@@ -1024,6 +1163,11 @@ module Aws::Firehose
1024
1163
  # log_group_name: "LogGroupName",
1025
1164
  # log_stream_name: "LogStreamName",
1026
1165
  # },
1166
+ # vpc_configuration: {
1167
+ # subnet_ids: ["NonEmptyStringWithoutWhitespace"], # required
1168
+ # role_arn: "RoleARN", # required
1169
+ # security_group_ids: ["NonEmptyStringWithoutWhitespace"], # required
1170
+ # },
1027
1171
  # }
1028
1172
  #
1029
1173
  # @!attribute [rw] role_arn
@@ -1121,6 +1265,10 @@ module Aws::Firehose
1121
1265
  # The Amazon CloudWatch logging options for your delivery stream.
1122
1266
  # @return [Types::CloudWatchLoggingOptions]
1123
1267
  #
1268
+ # @!attribute [rw] vpc_configuration
1269
+ # The details of the VPC of the Amazon ES destination.
1270
+ # @return [Types::VpcConfiguration]
1271
+ #
1124
1272
  # @see http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/ElasticsearchDestinationConfiguration AWS API Documentation
1125
1273
  #
1126
1274
  class ElasticsearchDestinationConfiguration < Struct.new(
@@ -1135,7 +1283,8 @@ module Aws::Firehose
1135
1283
  :s3_backup_mode,
1136
1284
  :s3_configuration,
1137
1285
  :processing_configuration,
1138
- :cloud_watch_logging_options)
1286
+ :cloud_watch_logging_options,
1287
+ :vpc_configuration)
1139
1288
  include Aws::Structure
1140
1289
  end
1141
1290
 
@@ -1207,6 +1356,10 @@ module Aws::Firehose
1207
1356
  # The Amazon CloudWatch logging options.
1208
1357
  # @return [Types::CloudWatchLoggingOptions]
1209
1358
  #
1359
+ # @!attribute [rw] vpc_configuration_description
1360
+ # The details of the VPC of the Amazon ES destination.
1361
+ # @return [Types::VpcConfigurationDescription]
1362
+ #
1210
1363
  # @see http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/ElasticsearchDestinationDescription AWS API Documentation
1211
1364
  #
1212
1365
  class ElasticsearchDestinationDescription < Struct.new(
@@ -1221,7 +1374,8 @@ module Aws::Firehose
1221
1374
  :s3_backup_mode,
1222
1375
  :s3_destination_description,
1223
1376
  :processing_configuration,
1224
- :cloud_watch_logging_options)
1377
+ :cloud_watch_logging_options,
1378
+ :vpc_configuration_description)
1225
1379
  include Aws::Structure
1226
1380
  end
1227
1381
 
@@ -1253,7 +1407,7 @@ module Aws::Firehose
1253
1407
  # size_in_m_bs: 1,
1254
1408
  # interval_in_seconds: 1,
1255
1409
  # },
1256
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
1410
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
1257
1411
  # encryption_configuration: {
1258
1412
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
1259
1413
  # kms_encryption_config: {
@@ -1455,7 +1609,7 @@ module Aws::Firehose
1455
1609
  # size_in_m_bs: 1,
1456
1610
  # interval_in_seconds: 1,
1457
1611
  # },
1458
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
1612
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
1459
1613
  # encryption_configuration: {
1460
1614
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
1461
1615
  # kms_encryption_config: {
@@ -1491,7 +1645,7 @@ module Aws::Firehose
1491
1645
  # size_in_m_bs: 1,
1492
1646
  # interval_in_seconds: 1,
1493
1647
  # },
1494
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
1648
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
1495
1649
  # encryption_configuration: {
1496
1650
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
1497
1651
  # kms_encryption_config: {
@@ -1759,7 +1913,7 @@ module Aws::Firehose
1759
1913
  # size_in_m_bs: 1,
1760
1914
  # interval_in_seconds: 1,
1761
1915
  # },
1762
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
1916
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
1763
1917
  # encryption_configuration: {
1764
1918
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
1765
1919
  # kms_encryption_config: {
@@ -1795,7 +1949,7 @@ module Aws::Firehose
1795
1949
  # size_in_m_bs: 1,
1796
1950
  # interval_in_seconds: 1,
1797
1951
  # },
1798
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
1952
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
1799
1953
  # encryption_configuration: {
1800
1954
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
1801
1955
  # kms_encryption_config: {
@@ -1953,6 +2107,26 @@ module Aws::Firehose
1953
2107
  include Aws::Structure
1954
2108
  end
1955
2109
 
2110
+ # Provides details in case one of the following operations fails due to
2111
+ # an error related to KMS: CreateDeliveryStream, DeleteDeliveryStream,
2112
+ # StartDeliveryStreamEncryption, StopDeliveryStreamEncryption.
2113
+ #
2114
+ # @!attribute [rw] type
2115
+ # The type of error that caused the failure.
2116
+ # @return [String]
2117
+ #
2118
+ # @!attribute [rw] details
2119
+ # A message providing details about the error that caused the failure.
2120
+ # @return [String]
2121
+ #
2122
+ # @see http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/FailureDescription AWS API Documentation
2123
+ #
2124
+ class FailureDescription < Struct.new(
2125
+ :type,
2126
+ :details)
2127
+ include Aws::Structure
2128
+ end
2129
+
1956
2130
  # The native Hive / HCatalog JsonSerDe. Used by Kinesis Data Firehose
1957
2131
  # for deserializing data, which means converting it from the JSON format
1958
2132
  # in preparation for serializing it to the Parquet or ORC format. This
@@ -1990,7 +2164,8 @@ module Aws::Firehose
1990
2164
  end
1991
2165
 
1992
2166
  # Specifies the deserializer you want to use to convert the format of
1993
- # the input data.
2167
+ # the input data. This parameter is required if `Enabled` is set to
2168
+ # true.
1994
2169
  #
1995
2170
  # @note When making an API call, you may pass InputFormatConfiguration
1996
2171
  # data as a hash:
@@ -2036,6 +2211,26 @@ module Aws::Firehose
2036
2211
  include Aws::Structure
2037
2212
  end
2038
2213
 
2214
+ # Kinesis Data Firehose throws this exception when an attempt to put
2215
+ # records or to start or stop delivery stream encryption fails. This
2216
+ # happens when the KMS service throws one of the following exception
2217
+ # types: `AccessDeniedException`, `InvalidStateException`,
2218
+ # `DisabledException`, or `NotFoundException`.
2219
+ #
2220
+ # @!attribute [rw] code
2221
+ # @return [String]
2222
+ #
2223
+ # @!attribute [rw] message
2224
+ # @return [String]
2225
+ #
2226
+ # @see http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/InvalidKMSResourceException AWS API Documentation
2227
+ #
2228
+ class InvalidKMSResourceException < Struct.new(
2229
+ :code,
2230
+ :message)
2231
+ include Aws::Structure
2232
+ end
2233
+
2039
2234
  # Describes an encryption key for a destination in Amazon S3.
2040
2235
  #
2041
2236
  # @note When making an API call, you may pass KMSEncryptionConfig
@@ -2424,7 +2619,8 @@ module Aws::Firehose
2424
2619
  end
2425
2620
 
2426
2621
  # Specifies the serializer that you want Kinesis Data Firehose to use to
2427
- # convert the format of your data before it writes it to Amazon S3.
2622
+ # convert the format of your data before it writes it to Amazon S3. This
2623
+ # parameter is required if `Enabled` is set to true.
2428
2624
  #
2429
2625
  # @note When making an API call, you may pass OutputFormatConfiguration
2430
2626
  # data as a hash:
@@ -2504,7 +2700,7 @@ module Aws::Firehose
2504
2700
  # The compression code to use over data blocks. The possible values
2505
2701
  # are `UNCOMPRESSED`, `SNAPPY`, and `GZIP`, with the default being
2506
2702
  # `SNAPPY`. Use `SNAPPY` for higher decompression speed. Use `GZIP` if
2507
- # the compression ration is more important than speed.
2703
+ # the compression ratio is more important than speed.
2508
2704
  # @return [String]
2509
2705
  #
2510
2706
  # @!attribute [rw] enable_dictionary_compression
@@ -2800,7 +2996,7 @@ module Aws::Firehose
2800
2996
  # size_in_m_bs: 1,
2801
2997
  # interval_in_seconds: 1,
2802
2998
  # },
2803
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
2999
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
2804
3000
  # encryption_configuration: {
2805
3001
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
2806
3002
  # kms_encryption_config: {
@@ -2837,7 +3033,7 @@ module Aws::Firehose
2837
3033
  # size_in_m_bs: 1,
2838
3034
  # interval_in_seconds: 1,
2839
3035
  # },
2840
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
3036
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
2841
3037
  # encryption_configuration: {
2842
3038
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
2843
3039
  # kms_encryption_config: {
@@ -3026,7 +3222,7 @@ module Aws::Firehose
3026
3222
  # size_in_m_bs: 1,
3027
3223
  # interval_in_seconds: 1,
3028
3224
  # },
3029
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
3225
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
3030
3226
  # encryption_configuration: {
3031
3227
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
3032
3228
  # kms_encryption_config: {
@@ -3063,7 +3259,7 @@ module Aws::Firehose
3063
3259
  # size_in_m_bs: 1,
3064
3260
  # interval_in_seconds: 1,
3065
3261
  # },
3066
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
3262
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
3067
3263
  # encryption_configuration: {
3068
3264
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
3069
3265
  # kms_encryption_config: {
@@ -3223,7 +3419,7 @@ module Aws::Firehose
3223
3419
  # size_in_m_bs: 1,
3224
3420
  # interval_in_seconds: 1,
3225
3421
  # },
3226
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
3422
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
3227
3423
  # encryption_configuration: {
3228
3424
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
3229
3425
  # kms_encryption_config: {
@@ -3403,7 +3599,7 @@ module Aws::Firehose
3403
3599
  # size_in_m_bs: 1,
3404
3600
  # interval_in_seconds: 1,
3405
3601
  # },
3406
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
3602
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
3407
3603
  # encryption_configuration: {
3408
3604
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
3409
3605
  # kms_encryption_config: {
@@ -3495,7 +3691,8 @@ module Aws::Firehose
3495
3691
  end
3496
3692
 
3497
3693
  # Specifies the schema to which you want Kinesis Data Firehose to
3498
- # configure your data before it writes it to Amazon S3.
3694
+ # configure your data before it writes it to Amazon S3. This parameter
3695
+ # is required if `Enabled` is set to true.
3499
3696
  #
3500
3697
  # @note When making an API call, you may pass SchemaConfiguration
3501
3698
  # data as a hash:
@@ -3676,7 +3873,7 @@ module Aws::Firehose
3676
3873
  # size_in_m_bs: 1,
3677
3874
  # interval_in_seconds: 1,
3678
3875
  # },
3679
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
3876
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
3680
3877
  # encryption_configuration: {
3681
3878
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
3682
3879
  # kms_encryption_config: {
@@ -3861,7 +4058,7 @@ module Aws::Firehose
3861
4058
  # size_in_m_bs: 1,
3862
4059
  # interval_in_seconds: 1,
3863
4060
  # },
3864
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
4061
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
3865
4062
  # encryption_configuration: {
3866
4063
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
3867
4064
  # kms_encryption_config: {
@@ -3989,6 +4186,10 @@ module Aws::Firehose
3989
4186
  #
3990
4187
  # {
3991
4188
  # delivery_stream_name: "DeliveryStreamName", # required
4189
+ # delivery_stream_encryption_configuration_input: {
4190
+ # key_arn: "AWSKMSKeyARN",
4191
+ # key_type: "AWS_OWNED_CMK", # required, accepts AWS_OWNED_CMK, CUSTOMER_MANAGED_CMK
4192
+ # },
3992
4193
  # }
3993
4194
  #
3994
4195
  # @!attribute [rw] delivery_stream_name
@@ -3996,10 +4197,16 @@ module Aws::Firehose
3996
4197
  # server-side encryption (SSE).
3997
4198
  # @return [String]
3998
4199
  #
4200
+ # @!attribute [rw] delivery_stream_encryption_configuration_input
4201
+ # Used to specify the type and Amazon Resource Name (ARN) of the KMS
4202
+ # key needed for Server-Side Encryption (SSE).
4203
+ # @return [Types::DeliveryStreamEncryptionConfigurationInput]
4204
+ #
3999
4205
  # @see http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/StartDeliveryStreamEncryptionInput AWS API Documentation
4000
4206
  #
4001
4207
  class StartDeliveryStreamEncryptionInput < Struct.new(
4002
- :delivery_stream_name)
4208
+ :delivery_stream_name,
4209
+ :delivery_stream_encryption_configuration_input)
4003
4210
  include Aws::Structure
4004
4211
  end
4005
4212
 
@@ -4139,7 +4346,7 @@ module Aws::Firehose
4139
4346
  # size_in_m_bs: 1,
4140
4347
  # interval_in_seconds: 1,
4141
4348
  # },
4142
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
4349
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
4143
4350
  # encryption_configuration: {
4144
4351
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
4145
4352
  # kms_encryption_config: {
@@ -4161,7 +4368,7 @@ module Aws::Firehose
4161
4368
  # size_in_m_bs: 1,
4162
4369
  # interval_in_seconds: 1,
4163
4370
  # },
4164
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
4371
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
4165
4372
  # encryption_configuration: {
4166
4373
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
4167
4374
  # kms_encryption_config: {
@@ -4197,7 +4404,7 @@ module Aws::Firehose
4197
4404
  # size_in_m_bs: 1,
4198
4405
  # interval_in_seconds: 1,
4199
4406
  # },
4200
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
4407
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
4201
4408
  # encryption_configuration: {
4202
4409
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
4203
4410
  # kms_encryption_config: {
@@ -4282,7 +4489,7 @@ module Aws::Firehose
4282
4489
  # size_in_m_bs: 1,
4283
4490
  # interval_in_seconds: 1,
4284
4491
  # },
4285
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
4492
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
4286
4493
  # encryption_configuration: {
4287
4494
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
4288
4495
  # kms_encryption_config: {
@@ -4319,7 +4526,7 @@ module Aws::Firehose
4319
4526
  # size_in_m_bs: 1,
4320
4527
  # interval_in_seconds: 1,
4321
4528
  # },
4322
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
4529
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
4323
4530
  # encryption_configuration: {
4324
4531
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
4325
4532
  # kms_encryption_config: {
@@ -4361,7 +4568,7 @@ module Aws::Firehose
4361
4568
  # size_in_m_bs: 1,
4362
4569
  # interval_in_seconds: 1,
4363
4570
  # },
4364
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
4571
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
4365
4572
  # encryption_configuration: {
4366
4573
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
4367
4574
  # kms_encryption_config: {
@@ -4412,7 +4619,7 @@ module Aws::Firehose
4412
4619
  # size_in_m_bs: 1,
4413
4620
  # interval_in_seconds: 1,
4414
4621
  # },
4415
- # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
4622
+ # compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_SNAPPY
4416
4623
  # encryption_configuration: {
4417
4624
  # no_encryption_config: "NoEncryption", # accepts NoEncryption
4418
4625
  # kms_encryption_config: {
@@ -4503,5 +4710,107 @@ module Aws::Firehose
4503
4710
  #
4504
4711
  class UpdateDestinationOutput < Aws::EmptyStructure; end
4505
4712
 
4713
+ # The details of the VPC of the Amazon ES destination.
4714
+ #
4715
+ # @note When making an API call, you may pass VpcConfiguration
4716
+ # data as a hash:
4717
+ #
4718
+ # {
4719
+ # subnet_ids: ["NonEmptyStringWithoutWhitespace"], # required
4720
+ # role_arn: "RoleARN", # required
4721
+ # security_group_ids: ["NonEmptyStringWithoutWhitespace"], # required
4722
+ # }
4723
+ #
4724
+ # @!attribute [rw] subnet_ids
4725
+ # The IDs of the subnets that you want Kinesis Data Firehose to use to
4726
+ # create ENIs in the VPC of the Amazon ES destination. Make sure that
4727
+ # the routing tables and inbound and outbound rules allow traffic to
4728
+ # flow from the subnets whose IDs are specified here to the subnets
4729
+ # that have the destination Amazon ES endpoints. Kinesis Data Firehose
4730
+ # creates at least one ENI in each of the subnets that are specified
4731
+ # here. Do not delete or modify these ENIs.
4732
+ #
4733
+ # The number of ENIs that Kinesis Data Firehose creates in the subnets
4734
+ # specified here scales up and down automatically based on throughput.
4735
+ # To enable Kinesis Data Firehose to scale up the number of ENIs to
4736
+ # match throughput, ensure that you have sufficient quota. To help you
4737
+ # calculate the quota you need, assume that Kinesis Data Firehose can
4738
+ # create up to three ENIs for this delivery stream for each of the
4739
+ # subnets specified here. For more information about ENI quota, see
4740
+ # [Network Interfaces ][1] in the Amazon VPC Quotas topic.
4741
+ #
4742
+ #
4743
+ #
4744
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-enis
4745
+ # @return [Array<String>]
4746
+ #
4747
+ # @!attribute [rw] role_arn
4748
+ # The ARN of the IAM role that you want the delivery stream to use to
4749
+ # create endpoints in the destination VPC.
4750
+ # @return [String]
4751
+ #
4752
+ # @!attribute [rw] security_group_ids
4753
+ # The IDs of the security groups that you want Kinesis Data Firehose
4754
+ # to use when it creates ENIs in the VPC of the Amazon ES destination.
4755
+ # @return [Array<String>]
4756
+ #
4757
+ # @see http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/VpcConfiguration AWS API Documentation
4758
+ #
4759
+ class VpcConfiguration < Struct.new(
4760
+ :subnet_ids,
4761
+ :role_arn,
4762
+ :security_group_ids)
4763
+ include Aws::Structure
4764
+ end
4765
+
4766
+ # The details of the VPC of the Amazon ES destination.
4767
+ #
4768
+ # @!attribute [rw] subnet_ids
4769
+ # The IDs of the subnets that Kinesis Data Firehose uses to create
4770
+ # ENIs in the VPC of the Amazon ES destination. Make sure that the
4771
+ # routing tables and inbound and outbound rules allow traffic to flow
4772
+ # from the subnets whose IDs are specified here to the subnets that
4773
+ # have the destination Amazon ES endpoints. Kinesis Data Firehose
4774
+ # creates at least one ENI in each of the subnets that are specified
4775
+ # here. Do not delete or modify these ENIs.
4776
+ #
4777
+ # The number of ENIs that Kinesis Data Firehose creates in the subnets
4778
+ # specified here scales up and down automatically based on throughput.
4779
+ # To enable Kinesis Data Firehose to scale up the number of ENIs to
4780
+ # match throughput, ensure that you have sufficient quota. To help you
4781
+ # calculate the quota you need, assume that Kinesis Data Firehose can
4782
+ # create up to three ENIs for this delivery stream for each of the
4783
+ # subnets specified here. For more information about ENI quota, see
4784
+ # [Network Interfaces ][1] in the Amazon VPC Quotas topic.
4785
+ #
4786
+ #
4787
+ #
4788
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-enis
4789
+ # @return [Array<String>]
4790
+ #
4791
+ # @!attribute [rw] role_arn
4792
+ # The ARN of the IAM role that you want the delivery stream uses to
4793
+ # create endpoints in the destination VPC.
4794
+ # @return [String]
4795
+ #
4796
+ # @!attribute [rw] security_group_ids
4797
+ # The IDs of the security groups that Kinesis Data Firehose uses when
4798
+ # it creates ENIs in the VPC of the Amazon ES destination.
4799
+ # @return [Array<String>]
4800
+ #
4801
+ # @!attribute [rw] vpc_id
4802
+ # The ID of the Amazon ES destination's VPC.
4803
+ # @return [String]
4804
+ #
4805
+ # @see http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/VpcConfigurationDescription AWS API Documentation
4806
+ #
4807
+ class VpcConfigurationDescription < Struct.new(
4808
+ :subnet_ids,
4809
+ :role_arn,
4810
+ :security_group_ids,
4811
+ :vpc_id)
4812
+ include Aws::Structure
4813
+ end
4814
+
4506
4815
  end
4507
4816
  end